示例#1
0
void RenderManager::AsyncInvoke(RenderManager::InvokeMethod m)
{
	InvokeHandle *cmd = new InvokeHandle(m);
	cmd->selfdelete = true;

	PushInvoke(cmd);
}
示例#2
0
void RenderManager::BlockInvoke(RenderManager::InvokeMethod m)
{
	InvokeHandle *cmd = new InvokeHandle(m);

	PushInvoke(cmd);

	while(!cmd->processed) {}
}
示例#3
0
void RenderManager::BlockInvoke(RenderManager::InvokeMethod m)
{
  InvokeHandle *cmd = new InvokeHandle(m);

  PushInvoke(cmd);

  for(;;)
  {
    if(cmd->processed.tryAcquire())
      break;
  }

  delete cmd;
}