线程方法

时间:2016-07-20 19:17:07

标签: java multithreading

最近我接受了一次java采访。其中一个问题是 假设有两个线程,一个线程永远执行,在这种情况下我们怎么能执行另一个线程?通过调用 join() yield()方法?

2 个答案:

答案 0 :(得分:0)

join()将等待给定的线程停止执行,因此您将永远等待第一个线程。 yield()

  

向调度程序提示当前线程是否愿意产生当前使用的处理器。

所以你可以在第一个线程中使用yield(),但是没有必要,线程可以同时执行。

答案 1 :(得分:0)

  

在这种情况下我们如何执行其他线程?

问题很糟糕。 我们不执行线程:线程执行我们的代码

如果这两个线程都在我的笔记本电脑上start()编辑,并且线程A正在永久执行,并且我也希望线程B也可以运行,那么我根本不需要做任何事情。操作系统将确保两个线程都能运行。并且,如果没有其他程序试图同时工作,那么每个线程将获得我的笔记本电脑的八个CPU中的大约100%。