void EnqueueAppend(AppendCall appendCall) { bool waitForMainThread; lock (appendLock) { appendCalls.Add(appendCall); if (appendCalls.Count == 1) { WorkbenchSingleton.SafeThreadAsyncCall(ProcessAppendText); } waitForMainThread = appendCalls.Count > 2000; } if (waitForMainThread && WorkbenchSingleton.InvokeRequired) { int sleepLength = 20; do { Thread.Sleep(sleepLength); sleepLength += 20; lock (appendLock) waitForMainThread = appendCalls.Count > 2000; //if (waitForMainThread) LoggingService.Debug("Extending sleep (" + sleepLength + ")"); } while (waitForMainThread); } }
void EnqueueAppend(AppendCall appendCall) { bool waitForMainThread; lock (appendLock) { appendCalls.Add(appendCall); if (appendCalls.Count == 1) WorkbenchSingleton.SafeThreadAsyncCall(ProcessAppendText); waitForMainThread = appendCalls.Count > 2000; } if (waitForMainThread && WorkbenchSingleton.InvokeRequired) { int sleepLength = 20; do { Thread.Sleep(sleepLength); sleepLength += 20; lock (appendLock) waitForMainThread = appendCalls.Count > 2000; //if (waitForMainThread) LoggingService.Debug("Extending sleep (" + sleepLength + ")"); } while (waitForMainThread); } }
void EnqueueAppend(AppendCall appendCall) { bool waitForMainThread; lock (appendLock) { appendCalls.Add(appendCall); if (appendCalls.Count == 1) { SD.MainThread.InvokeAsyncAndForget(ProcessAppendText); } waitForMainThread = appendCalls.Count > 2000; } if (waitForMainThread && SD.MainThread.InvokeRequired) { int sleepLength = 20; do { Thread.Sleep(sleepLength); sleepLength += 20; lock (appendLock) waitForMainThread = appendCalls.Count > 2000; //if (waitForMainThread) LoggingService.Debug("Extending sleep (" + sleepLength + ")"); } while (waitForMainThread); } }