寻找适合以下问题的良好设计(C#)。在此先感谢您的回复!暂停/执行多线程程序中的一个线程(C#)
- 多线程程序
- 至少有两个线程
- 第一个线程运行的所有
- 第二个线程需要从上午9点运行时 - 下午5时每个工作日,并暂停否则
我我已经尝试过的想法和事情:
保持双线程。对于需要在特定时间执行/暂停的应用程序,请使用Thread.Sleep。 问题:Thread.Sleep似乎根本不会暂停线程。线程继续执行,就像Thread.Sleep不存在一样。还没有弄清楚为什么(评论欢迎)。 如果使用循环代替Thread.Sleep,则线程在循环时间过长(例如整夜)时不会唤醒。
添加第三个带定时器的线程。这第三个线程唤起第二个线程的执行/暂停。
更好的主意?
你按小时支付线索,只是不想支付加班费吗?这看起来像是一个设计问题,如果你需要某些特定时间运行的东西,你应该使用一个调度器。假期,闰日等?事情很容易由一个工作调度程序处理......出于好奇,这个线程是做什么的,它只在工作时间运行? –
这听起来像是[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。你能让我们知道你的根本问题是什么吗? – Enigmativity
@RonBeyer哈哈我不会按小时付费。而第二个线程不需要在节假日运行。纠正我,如果我错了,但工作时间表需要将线程变成可执行文件,对吗?不确定这是否适用,因为线程2在线程1运行时需要不断地与线程1交谈。 – o1o1o111