|
|
1
5
正如我从您的评论中了解到的,您需要您的应用程序无限期地运行,并且它是一个控制台应用程序,由另一个可执行文件提供支持。 最好使用console.readline而不是循环。 或者使用monitor.wait方法无限期地阻塞线程
|
|
|
2
9
filesystemwatcher.waitforchanged是 舞台调度 (同步)。有 绝对地 不需要空闲循环,特别是因为您正在处理事件。注意:EnableRaisingEvents默认为true。因此,您所要做的就是将组件添加到表单中。没有空闲循环。没有线程,因为组件会处理这个问题。 我知道您使用的是控制台应用程序。因此,可以创建以下循环。同样,不需要空闲循环。组件负责所有细节。
[更新]“注意,EnableRaisingEvents默认值为true。”根据Microsoft源代码,只有将FileSystemWatcher组件放到设计器中时,此值才为true。如下图所示:
[更新]呼叫
|
|
3
2
thread.sleep()将执行您想要的操作。但基本上,你应该阻止使用一个操作系统方法,它会唤醒你想要的策略。例如一个console.readline()或一个互斥体上,它被事件处理程序点击以离开。 你不应该为了关闭你的应用程序而杀死它。 如果您将代码嵌入到表单中,那么至少可以很好地杀死表单,并且在不使用它的情况下可以加载一个合理的操作系统。 |
|
|
4
2
如果将运行此循环的线程标记为后台线程( Thread.IsBackground property )然后它应该可以正常工作(当所有非后台线程终止时,程序将退出) |
|
|
5
0
我不明白。。。 你为什么想要和空闲循环?您想让应用程序无限期地运行吗? 那么,为什么不创建一个Windows服务,或者一个可以在系统托盘中运行的应用程序呢? 然后,我要做的是创建一个类,它只执行以下操作:
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |