public int ExecuteAllQueuedFunctionsNow()
{
lock (QueuedExecutions)
{
int ExecutedCount = 0;
while (QueuedExecutions.Count > 0)
{
var QueuedExecution = QueuedExecutions.Dequeue();
var Result = ExecuteFunctionNow(QueuedExecution.Function, QueuedExecution.Arguments);
if (QueuedExecution.ExecutedCallback != null) QueuedExecution.ExecutedCallback(Result);
ExecutedCount++;
}
return ExecutedCount;
}
}