|
|
1
7
调试多线程代码很困难。真的很难。 虽然减轻了状态,适当的设计可以减少这一困难,但它仍然比调试单线程代码困难得多。
尽管如此,在很多情况下,使用>1线程是正确的决定。 |
|
|
2
5
为了过分简化,Erlang和Haskell等函数式语言都是围绕这样一个概念构建的,即当消除副作用时,多线程应用程序是非常安全的。你应该看看这些。另外,一般来说,没有共享状态的多线程应用程序是非常安全的。 http://en.wikipedia.org/wiki/Haskell_%28programming_language%29 http://en.wikipedia.org/wiki/Erlang_%28programming_language%29 |
|
|
3
1
多线程编程并不被认为是有害的,但众所周知很难正确完成。有很多事情一眼就看不出来,可能会导致僵局和比赛条件。 不变计算和函数编程是处理多线程编程复杂性的一种方法。随着多核系统在今天变得无处不在,人们普遍认为程序员不应该独自在多核环境中编程,而应该依赖框架或库。例如,在.NET环境中,并行扩展将是框架4.0版本的一部分。 |
|
|
4
1
很多人在处理多线程时,就好像它是解决性能问题的灵丹妙药一样。以一个相对常见的“计算密集型操作”为例,该操作是不相关的。 一个常见的误解是,通过使操作多线程化,我们可以加快它的速度。这方面的细节要复杂得多。这取决于过程是什么以及过程中有多少“等待”。如果流程非常紧凑,那么将其放入多线程环境最多只能略微加快速度,并且在大多数情况下会使速度大大降低。 还需要考虑管理状态、管理线程交互以及线程引入的决定论问题。
|
|
|
5
1
C++中的多线程是困难的,因为(除其他事项外):
|
|
|
6
0
在单线程程序中使用的算法可能很容易扩展到多线程,也可能不容易。
|
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 2 年前 |
|
|
András Takács · Python多线程错误 2 年前 |