• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# Threading.ManualResetEvent类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.Threading.ManualResetEvent的典型用法代码示例。如果您正苦于以下问题:C# System.Threading.ManualResetEvent类的具体用法?C# System.Threading.ManualResetEvent怎么用?C# System.Threading.ManualResetEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



System.Threading.ManualResetEvent类属于命名空间,在下文中一共展示了System.Threading.ManualResetEvent类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: DbThreadsGator

 public DbThreadsGator(bool gateIsOpen)
 {
     if (gateIsOpen)
         gate = new System.Threading.ManualResetEvent(true);
     else
         gate = new System.Threading.ManualResetEvent(false);
 }
开发者ID:hhblaze,项目名称:DBreeze,代码行数:7,代码来源:DbThreadsGator.cs


示例2: Scan

        public override Task<Result> Scan(MobileBarcodeScanningOptions options)
        {
            var rootFrame = RootFrame ?? Window.Current.Content as Frame ?? ((FrameworkElement) Window.Current.Content).GetFirstChildOfType<Frame>();
            var dispatcher = Dispatcher ?? Window.Current.Dispatcher;

            return Task.Factory.StartNew(new Func<Result>(() =>
            {
                var scanResultResetEvent = new System.Threading.ManualResetEvent(false);

                Result result = null;

                ScanPage.ScanningOptions = options;
                ScanPage.ResultFoundAction = (r) => 
                {
                    result = r;
                    scanResultResetEvent.Set();
                };

                ScanPage.UseCustomOverlay = this.UseCustomOverlay;
                ScanPage.CustomOverlay = this.CustomOverlay;
                ScanPage.TopText = TopText;
                ScanPage.BottomText = BottomText;

                dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    rootFrame.Navigate(typeof(ScanPage));
                });
                
                scanResultResetEvent.WaitOne();

                return result;
            }));            
        }
开发者ID:M3psipax,项目名称:ZXing.Net.Mobile,代码行数:33,代码来源:MobileBarcodeScanner.cs


示例3: Scan

        public override Task<Result> Scan(MobileBarcodeScanningOptions options)
        {
            return Task.Factory.StartNew(new Func<Result>(() =>
            {
                var scanResultResetEvent = new System.Threading.ManualResetEvent(false);

                Result result = null;

                //Navigate: /ZxingSharp.WindowsPhone;component/Scan.xaml

                ScanPage.ScanningOptions = options;
                ScanPage.ResultFoundAction = (r) => 
                {
                    result = r;
                    scanResultResetEvent.Set();
                };

                ScanPage.UseCustomOverlay = this.UseCustomOverlay;
                ScanPage.CustomOverlay = this.CustomOverlay;
                ScanPage.TopText = TopText;
                ScanPage.BottomText = BottomText;

                Dispatcher.BeginInvoke(() =>
				{
					((Microsoft.Phone.Controls.PhoneApplicationFrame)Application.Current.RootVisual).Navigate(
						new Uri("/ZXingNetMobile;component/ScanPage.xaml", UriKind.Relative));
				});

                scanResultResetEvent.WaitOne();

                return result;
            }));            
        }
开发者ID:Binjaaa,项目名称:ZXing.Net.Mobile,代码行数:33,代码来源:MobileBarcodeScanner.cs


示例4: ADTFile

        public ADTFile(WDTFile wdt, string fileName, uint indexX, uint indexY, bool initial = false)
        {
            bool unkFlag = (wdt.Flags & 0x84) != 0;
            if (unkFlag)
                throw new Exception();

            IndexX = indexX;
            IndexY = indexY;
            FileName = fileName;
            mLoadEvent = new System.Threading.ManualResetEvent(false);
            if (initial == false)
            {
                Game.GameManager.ThreadManager.LaunchThread(
                    () =>
                    {
                        try
                        {
                            AsyncLoadProc();
                        }
                        catch (Exception)
                        {
                        }
                    }
                );
            }
            else
                AsyncLoadProc();

            ADTManager.AddADT(this);
        }
开发者ID:remixod,项目名称:sharpwow,代码行数:30,代码来源:ADTFile.cs


示例5: ConnectionManagerAddsNewServicesFromServiceDiscovery

        public void ConnectionManagerAddsNewServicesFromServiceDiscovery()
        {
            var manualResetEvent = new System.Threading.ManualResetEvent(false);
            var serviceUri1 = new ServiceUri() { Address = "1" };
            var serviceUri2 = new ServiceUri() { Address = "2" };
            Dictionary<ServiceUri, PerformanceStatistics> services
                = new Dictionary<ServiceUri, PerformanceStatistics>()
                {
                    {serviceUri1, new PerformanceStatistics()},
                    {serviceUri2, new PerformanceStatistics()}
                };
            var serviceDiscoveryMock = new Mock<IServiceDiscovery>(MockBehavior.Strict);
            serviceDiscoveryMock.Setup(sd => sd.GetPerformanceStatistics()).Returns(() => services).Callback(() => manualResetEvent.Set());

            var manager = new ConnectionManager(remoteService: null, listener: null,
                serviceDiscovery: serviceDiscoveryMock.Object,
                serviceDiscoveryPeriod: new TimeSpan(days: 0, hours: 0, minutes: 0, seconds: 0, milliseconds: 10));

            manualResetEvent.WaitOne();
            manager.RemoteServices.Count().ShouldBe(2);
            services.Add(new ServiceUri(), new PerformanceStatistics());
            manualResetEvent.Reset();
            manualResetEvent.WaitOne();

            manager.RemoteServices.Count().ShouldBe(3);
        }
开发者ID:pbazydlo,项目名称:bluepath,代码行数:26,代码来源:ConnectionManagerTests.cs


示例6: RunItems

 private void RunItems(List<WaitItem> waitItems)
 {
     try
     {
         System.Threading.ManualResetEvent[] mre = new System.Threading.ManualResetEvent[waitItems.Count];
         for (int i = 0; i < waitItems.Count; i++)
         {
             mre[i] = waitItems[i].MRE;
         }
         foreach (WaitItem item in waitItems)
         {
             item.MRE.Reset();
             System.Threading.ThreadPool.QueueUserWorkItem(ThreadExecute, item);
         }
         System.Threading.WaitHandle.WaitAll(mre);
         foreach (WaitItem item in waitItems)
         {
             if (item.Error != null)
                 throw item.Error;
         }
     }
     finally
     {
         foreach (WaitItem item in waitItems)
         {
             Push(item);
         }
         waitItems.Clear();
     }
 }
开发者ID:priceLiu,项目名称:IntegrationTest,代码行数:30,代码来源:MultiThreadTest.cs


示例7: SendMessage_Test

        public void SendMessage_Test()
        {

            RequestMessage message = new RequestMessage()
            {

                Device = "test",
                Level = MessageLevel.High,
                Message = "test",
                Source = "unitest",
                Title = "test"
            };


            ResponseMessage resmessage = CatsAgent.SendMessage(message);

            var t1 = resmessage.Message;
            var t2 = resmessage.Result;

            Assert.IsTrue(t1.Length > 0);
            Assert.AreEqual(t2, MessageSendingResult.Succeed);


            System.Threading.ManualResetEvent hand = new System.Threading.ManualResetEvent(false);

            CatsAgent.SendMessageAsync(message, new
                 Action<ResponseMessage>((ar) => { hand.Set(); }));

            hand.WaitOne();
        }
开发者ID:felix-tien,项目名称:TechLab,代码行数:30,代码来源:CatsAgentTest.cs


示例8: ExecuteAndWaitForSSHCommand

		private static void ExecuteAndWaitForSSHCommand(string IPAddress,string command)
		{
			var handle = new System.Threading.ManualResetEvent(false);
			var helper = new SshCommandHelper(IPAddress, handle);
			helper.WriteSSHCommand(command, true);
			handle.WaitOne();
		}
开发者ID:tudor-olariu,项目名称:monoev3,代码行数:7,代码来源:MonoBrickAddinUtility.cs


示例9: AgentThreadInfo

			public AgentThreadInfo(System.Threading.Thread thread) {
				if (object.ReferenceEquals(thread, null)) { throw new ArgumentNullException("thread"); }

				this.Thread = thread;
				this.MainReset = new System.Threading.ManualResetEvent(false);
				this.AgentReset = new System.Threading.ManualResetEvent(false);
			}
开发者ID:TenCoKaciStromy,项目名称:TcKs.Gr1dRuntime,代码行数:7,代码来源:World.cs


示例10: NetzService

		public NetzService(string[] args)
		{
			this.args = args;
			resetEvent = new System.Threading.ManualResetEvent(false);
			ServiceName = ProjectInstaller.SERVICENAME;
			Init();
		}
开发者ID:transformersprimeabcxyz,项目名称:_TO-DO-msnet-netz-compressor-madebits,代码行数:7,代码来源:Service.cs


示例11: Main

 static void Main()
 {
     System.Threading.ManualResetEvent close = new System.Threading.ManualResetEvent(false);
     SystemEvents.SessionEnding += (object sender, SessionEndingEventArgs e) =>
         close.Set();
     BaseClass();
     close.WaitOne();
 }
开发者ID:Trontor,项目名称:Class-Mouse-Countdown,代码行数:8,代码来源:Program.cs


示例12: Control

 public Control(string ServerAddress, int Port)
 {
     log = new Logger(AppInfo.Title + Port);
     m_sServerAddress = ServerAddress;
     m_iPort = Port;
     m_TCPClient = new System.Net.Sockets.TcpClient();
     m_EventChannelConnectionComplete = new System.Threading.ManualResetEvent(false);
     m_sLastError = "";
     m_EventReceivedFile = new System.Threading.AutoResetEvent(false);
 }
开发者ID:CarverLab,项目名称:Oyster,代码行数:10,代码来源:Control.cs


示例13: PeriodicOutput

 public PeriodicOutput(ConsoleOutput messageSink, TimeSpan updateFrequency)
 {
     m_output = messageSink;
     m_readyEvent = new System.Threading.ManualResetEvent(false);
     m_finishEvent = new System.Threading.ManualResetEvent(false);
     m_updateFrequency = updateFrequency;
     m_thread = new System.Threading.Thread(this.ThreadMain);
     m_thread.IsBackground = true;
     m_thread.Name = "Periodic console writer";
     m_thread.Start();
 }
开发者ID:Xelio,项目名称:duplicati,代码行数:11,代码来源:Commands.cs


示例14: Parse

		static void Parse()
		{
			var e = new System.Threading.ManualResetEvent(false);
			Console.WriteLine ("Parsing...");

			GlobalParseCache.BeginAddOrUpdatePaths (new[]{ srcDir }, false, (ea) => {
				Console.WriteLine ("Finished parsing. {0} files. {1} ms.", ea.FileAmount, ea.ParseDuration);
				e.Set();
			});

			e.WaitOne ();
		}
开发者ID:DinrusGroup,项目名称:D_Parser,代码行数:12,代码来源:BotanProfil.cs


示例15: CommandItem

        internal bool m_UpdateRequired { get; set; } //true if this command updates a polled status variable, and an update is needed ASAP

        /// <summary>
        /// 
        /// </summary>
        /// <param name="command">actual serial command to be sent, not including ending '#' or the native checksum</param>
        /// <param name="timeout">timeout value for this command in msec, -1 if no timeout wanted</param>
        /// <param name="wantResult">does the caller want the result returned by Gemini?</param>
        /// <param name="bRaw">command is a raw string to be passed to the device unmodified</param>
        internal CommandItem(string command, int timeout, bool wantResult, bool bRaw)
        {
            m_Command = command;
            m_ThreadID = System.Threading.Thread.CurrentThread.ManagedThreadId;
            m_Timeout = timeout;

            // create a wait handle if result is desired
            if (wantResult)
                m_WaitForResultHandle = new System.Threading.ManualResetEvent(false);
            m_Result = null;
            m_Raw = bRaw;
        }
开发者ID:PKAstro,项目名称:Ascom.Gemini.Telescope,代码行数:21,代码来源:CommandItem.cs


示例16: UwaUdpSocket

        public UwaUdpSocket(int localPort, string localIPAddress)
        {
            _DataAvailableSignal = new System.Threading.ManualResetEvent(false);
            _ReceivedData = new System.Collections.Concurrent.ConcurrentQueue<ReceivedUdpData>();

            this._LocalPort = localPort;

            _Socket = new Windows.Networking.Sockets.DatagramSocket();
            _Socket.MessageReceived += _Socket_MessageReceived;

            BindSocket();
        }
开发者ID:sk8tz,项目名称:RSSDP,代码行数:12,代码来源:UdpSocket.cs


示例17: UwaUdpSocket

        public UwaUdpSocket(int localPort)
        {
            _DataAvailableSignal = new System.Threading.ManualResetEvent(false);
            _ReceivedData = new System.Collections.Concurrent.ConcurrentQueue<ReceivedUdpData>();

            this.localPort = localPort;

            _Socket = new Windows.Networking.Sockets.DatagramSocket();
            _Socket.MessageReceived += _Socket_MessageReceived;

            var t = _Socket.BindServiceNameAsync(this.localPort.ToString()).AsTask();
            t.Wait();
        }
开发者ID:noex,项目名称:RSSDP,代码行数:13,代码来源:UdpSocket.cs


示例18: RunAsync

		public async Task RunAsync ( Action act )
		{
			await Task.Run ( ( ) =>
			{
				System.Threading.ManualResetEvent evt = new System.Threading.ManualResetEvent ( false );
				m_dispatcher.BeginInvoke ( ( ) =>
				{
					act ( );
					evt.Set ( );
				} );
				evt.WaitOne ( );
			} );
		}
开发者ID:bl0rq,项目名称:Utilis,代码行数:13,代码来源:DispatcherWrapper.cs


示例19: Scan

		public override Task<Result> Scan (MobileBarcodeScanningOptions options)
		{
			return Task.Factory.StartNew(() => {

				try
				{
					var scanResultResetEvent = new System.Threading.ManualResetEvent(false);
					Result result = null;

					this.appController.InvokeOnMainThread(() => {
						// Free memory first and release resources
						if (viewController != null)
						{
							viewController.Dispose();
							viewController = null;
						}

						viewController = new ZxingCameraViewController(options, this);

						viewController.BarCodeEvent += (BarCodeEventArgs e) => {

							viewController.DismissViewController();

							result = e.BarcodeResult;
							scanResultResetEvent.Set();

						};

						viewController.Canceled += (sender, e) => {

							viewController.DismissViewController();

							scanResultResetEvent.Set();
						};

						appController.PresentViewController(viewController, true, () => { });

					});

					scanResultResetEvent.WaitOne();

					return result;
				}
				catch (Exception ex)
				{
					return null;
				}
			});

		}
开发者ID:nagyist,项目名称:mini-hacks,代码行数:50,代码来源:MobileBarcodeScanner.cs


示例20: RunUpdate

		public void RunUpdate()
		{
			var u = Updater.Instance;
			var waitHandler = new System.Threading.ManualResetEvent(false);


			u.NoUpdatesFound += (s, e) => waitHandler.Set();
			u.Error += (s, e) => waitHandler.Set();
			u.ExternalUpdateStarted += (s, e) => waitHandler.Set();
			u.UpdateCancelled += (s, e) => waitHandler.Set();

			Updater.CheckUpdateSimple();

			waitHandler.WaitOne();
		}
开发者ID:ChenJasonGit,项目名称:FSLib.App.SimpleUpdater,代码行数:15,代码来源:HiddenUiUpdateProxy.cs



注:本文中的System.Threading.ManualResetEvent类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Threading.Mutex类代码示例发布时间:2022-05-24
下一篇:
C# Threading.CancellationTokenSource类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap