当一个线程必须等待另一个线程时,为什么要并行化?

时间:2018-03-30 13:30:32

标签: multithreading pthreads

在pthread中是使线程等待前一个线程的结果的函数。但为什么?它比串行更糟糕。您一次只使用一个线程,并且浪费权力来创建和管理线程。

是否存在有用的情况?

1 个答案:

答案 0 :(得分:0)

你是对的,如果所有你的线程总是只是等待其他每个线程都没有做任何事情,这是毫无意义的,你应该重新设计你的程序。 / p>

但我从来没有遇到过多线程的应用程序。通常,线程有机会并行运行,只有在需要在它们之间传递数据时才会偶尔进行同步。当然,线程B可能需要等待线程A完成它的工作,但是线程B仍然可以先并行地完成它自己的工作。

这种灵活性是多线程的强大功能,如果你从不在它们之间传递数据,那么线程可能没什么用处。

您必须根据应用程序确定多线程是否适合您的应用程序。