AvalonStudio.Extensibility.Threading.JobRunner.RunLoop C# (CSharp) Method

RunLoop() public method

public RunLoop ( CancellationToken cancellationToken ) : void
cancellationToken System.Threading.CancellationToken
return void
		public void RunLoop(CancellationToken cancellationToken)
		{
			cancellationToken.Register(() => { _event.Set(); });

			while (!cancellationToken.IsCancellationRequested)
			{
				_event.WaitOne();

				if (cancellationToken.IsCancellationRequested)
				{
					return;
				}

				RunJobs();
			}
		}

Usage Example

        public CPlusPlusLanguageService()
        {
            IndentationStrategy = new CppIndentationStrategy();
            intellisenseJobRunner = new JobRunner();
            clangAccessJobRunner = new JobRunner();

            Task.Factory.StartNew(() => { intellisenseJobRunner.RunLoop(new CancellationToken()); });

            Task.Factory.StartNew(() => { clangAccessJobRunner.RunLoop(new CancellationToken()); });
        }
All Usage Examples Of AvalonStudio.Extensibility.Threading.JobRunner::RunLoop