autoresetevent

    3热度

    2回答

    我有一个应用程序在队列中使用AutoResetEvent(WaitOne/Set)来处理消息。我注意到,当我终止Visual Studio的一个调试会话(Shift + F5)时,应用程序的原始进程挂起(但并非总是)。我手动将调试器重新连接到进程,并发现它在WaitHandle.WaitOne上存在单线程。 所以我的问题是,终止可能处于WaitOne状态的线程的正确方法是什么? 想到的第一个答案是

    2热度

    2回答

    GetFiles创建这就要求CopyFiles第二个线程,我只是想每一个文件复制时间填写列表框的文件名,但一旦代码命中行: listBox1.Invoke((MethodInvoker)delegate { PrintProgress(i.ToString()); }, new object[] { }); 主线程被阻塞,任何想法? void GetFiles() { AutoRe

    0热度

    1回答

    我一直在努力研究如何使用类,但每个人似乎都如此不同地使用它们,它让我感到困惑和难以理解。 我试图将两个图像插入一个类,但不知道如何去做。 我正在努力的另一件事是如何把我想要摧毁的东西放入一个列表中发送到函数来删除图像,而不是单独做? 如果有人可以帮助解释我如何做这些东西,或告诉我怎么做这些(我最好的学习通过实例但与实例没有使用我的情况糊涂了。) import sys from tkinter i

    1热度

    2回答

    private ConcurrentQueue<Data> _queue = new ConcurrentQueue<Data>(); private AutoResetEvent _queueNotifier = new AutoResetEvent(false); public void MoreData(Data example) { _queue.Enqueue(exam

    1热度

    2回答

    想知道如何在下面代替AutoResetEvent?我试图考虑如何使用RX方式或使用任务,但我可以看到如何去做。 public void LogOnResponse LogOn() { LogOnResponse logOnResponse = null; var waitEvent = new AutoResetEvent(false); var listene

    0热度

    1回答

    我已经构建了一个库,它启动一个线程来完成它的工作,并将一个WaitHandle返回给调用者。 看着一个错误报告,我怀疑调用我的库的代码正在将返回的对象并将其转换为AutoResetEvent(它是)并提升标志本身。这并不意味着要这样做。 有没有一种方法可以将AutoResetEvent对象与一个仍然可以WaitOne'd和WaitAny'd但只能由我的代码引发的对象包装? 谢谢。

    4热度

    2回答

    我需要一些机制让人想起Win32重置事件,我可以通过具有相同的语义与WaitForSingleObject()和WaitForMultipleObjects()(只需要..SingleObject()版本此时此刻) 。但我的目标是多平台,所以我拥有的是boost :: threads(AFAIK)。我想出了下面的课,想问一下潜在的问题以及是否能够完成任务。提前致谢。 class reset_eve

    0热度

    1回答

    我在我的过程方法“WaitOne”中调用,如果进程正在等待,我需要知道另一种方法。 ¿我可以知道关于我的WaitHandle吗? 宣言: private static EventWaitHandle WaitHandle = new AutoResetEvent(false); 呼叫: WaitHandle.WaitOne() 编辑 的方法,通过一个事件,一个数据请求,并等待,直到它被发送

    12热度

    6回答

    有人可以引入AutoResetEvent.Reset()方法的用例吗? 何时以及为何我想要使用此方法? 我明白WaitOne和Set,但这对我来说还不太清楚。

    1热度

    1回答

    我有一个正在运行的服务不断处理数据,它接收通过消息传递来处理新数据的请求。在忙于处理新的请求时,将它们合并在一起,以便一次处理它们。 AutoResetEvent用于通知处理器有新的请求可用。 我的问题是在EventLoop中,是否有可能在WaitOne之后的currentRequest为null? 在lock(_eventLocker)之外是否存在_eventAvailable.Set()方法是