【发布时间】:2009-11-07 22:03:54
【问题描述】:
伪情况:有一个类(比如说BackgroundMagic),它有Start() 和Stop() 方法。这个类中的工作是由一个线程完成的,并且只是每 X 毫秒一个短循环。
就管理停止/启动而言,这些选项中哪个更好?无法决定走哪条路。
- 第一次调用 Start() 时,使用
IsBackground= true 初始化并启动线程。 在每个循环中使用一个简单的 bool 标志来指示它是否应该实际执行任何工作,或者只是休眠。 初始初始化后,让 Stop() 和 Start() 简单地控制 bool 标志。线程只会被运行时停止和清理,因为当应用退出时IsBackground= true。 - 在 Stop 时强制中止/加入/中断/任何操作,并在 Start() 上重新创建线程,而不是让线程闲置。
...或任何更好/更清洁的方法?
【问题讨论】:
标签: c# multithreading