我应该使用螺纹吗?

2020-05-14 13:24:12

但是,也许您的问题是受CPU限制的。在这种情况下-您仍然不应该使用线程!请考虑改用多个进程。一个好的模型是一个监督程序,它组织要完成的工作并聚合结果,产生运行实际计算的工作程序。这不仅更加健壮,而且伸缩性更好,因为您可以稍后将这些程序分布在多台计算机上。这种方法也更有用,因为程序的用户通常可能对如何分配工作有一个更新颖的想法,如果他们可以自己调用工作进程,他们就可以重新授权尝试4。出于同样的原因,这更容易测试和调试。而且,除了所有这些好处之外,您还可以获得一个全新的地址空间,这他妈的要难得多。但是,也许您使用的语言声称可以保证多线程代码的安全性。首先,请参考上一段中提供的多处理优点列表,这些优点甚至比简单的“它安全吗”更有用。第二,你的语言设计者在欺骗你。在足够长的时间范围内,所有程序都将被证明是不正确的。所有代码都有错误,包括您的编译器和语言运行时。程序越复杂,它崩溃的频率就越高,失败的情况也就越严重。你也许可以把责任归咎于其他人,但最终还是你的程序会被破坏。不要使用线程!这是个陷阱!