예제 #1
0
        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);
            }
        }
예제 #2
0
		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);
			}
		}
예제 #3
0
		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);
			}
		}