autoresetevent

    4热度

    2回答

    Windows允许创建(命名)Event objects。 事件(Windows中的同步原语)可以是自动重置类型(在这种情况下,您可以是could say it's kind of a semaphore),也可以是手动重置类型,在这种情况下它将保持设置状态,直到有人重置为止。 现在,从docs为CreateEvent,OpenEvent,SetEvent,等它似乎是没有办法确定,一旦事件已经创建

    0热度

    1回答

    我有一个Windows应用程序使用SqlDependency在分离的线程池上运行,此应用程序表示日志监视器UI获取添加到数据库中特定表中的最新行并在DataGridView中查看它。你可以看到这个LINK的应用程序源代码,或者按照这个脚本。 const string tableName = "OutgoingLog"; const string statusMessage = "{0}

    8热度

    1回答

    我正在尝试执行AutoResetEvent。为了这个目的,我使用了一个非常简单的类: public class MyThreadTest { static readonly AutoResetEvent thread1Step = new AutoResetEvent(false); static readonly AutoResetEvent thread2Step = n

    0热度

    3回答

    从不同线程调用AutoResetEvent方法是否安全? 还是应该避免从不同线程中调用对象? class Test { EventWaitHandle wh = new AutoResetEvent(false); Thread worker = new(Work); public Test { worker.Start(); }

    1热度

    1回答

    我有一个查询关于这两个工作在一起,因为我不相信他们携手并进。 我有一些代码,它使用后台工作人员和DoWork()它执行一些逻辑。该逻辑简单地使用TcpClient对象并将数据发送到外部设备。 我的问题是在DoWork()内调用AutoResetEvent.WaitOne()。这是否会停止当前线程,直到AutoResetEvent.Set()被调用?例如,如果AutoResetEvent.Set()

    2热度

    2回答

    我有5个线程的一个(完成增加服务可以发送电子邮件的速度)发送电子邮件窗口服务的睡一个线程: private AutoResetEvent block; private ThreadedQueue<Message> messageQueue; private void DoSend() { try { while(!this.disposing)

    2热度

    3回答

    假设下面的代码 private AutoResetEvent m_MethodDone = new AutoResetEvent(false); private void Method1() { // Do something Method2(); } private void Method2() { // All done m_MethodD

    0热度

    1回答

    我在写一个需要与串口通信的程序。我主要关心的是防止碰撞,并确保不同时写入/读取不同的功能。 首先,有一个系统定时器从开始开始,用于周期性地将数据写入到串行端口,并且还收听由给定的超时值的响应。因此,它会有一个已经完成的事件并完成工作。 其次,还有另外一个功能,具有较高优先级服务,将需要立即将数据写入到串行端口。 方案1. Elapsed事件烧成每次1分钟,并继续进行从未如果仍然从先前的一个或Sen

    -1热度

    2回答

    private void WaitForDriveToBecomeReady() { AutoResetEvent syncEvent = new AutoResetEvent(false); //set wait signal to use later //dispatcher to be able to change stuff in xaml from within

    1热度

    1回答

    我有以下代码。我试图让按钮主要形式,它可以暂停,继续和停止后台线程下载器上(专用线程线程) Form1.cs的 private AutoResetEvent waitHandle = new AutoResetEvent(true); private Thread thread; private void ThreadJob() { Downloader