0

例如,如果一个项目需要一个日志系统,我们可以启动一个专用的日志线程,它是唯一将记录日志的线程,而不是直接写入日志文件或将日志文件包装在监视器对象中。

如果其他线程想要写日志,它会向这个专用线程发送消息。然后,日志线程可以将日志从其消息队列顺序写入日志文件。

我认为这是一个比多线程设计更好的设计,其中每个例程写入日志都应该使用某种同步方案。

那我说得对吗?您能否提供更多方法/示例将多线程问题转变为简单的单线程问题?

4

1 回答 1

2

我认为这是一个比多线程设计更好的设计,其中每个例程写入日志都应该使用某种同步方案。

在专用线程是唯一写入日志的设计中,您也必须使用同步,除了同步访问日志之外,您需要同步对写入日志的线程的生产者-消费者队列的访问。

您能否提供更多方法/示例将多线程问题转变为简单的单线程问题?

问题并没有变得更简单:同步的需要并没有消失,只是从一个地方转移到另一个地方。

于 2012-10-09T00:57:45.533 回答