小编13h*_*ola的帖子

无法理解Thread join()

我是多线程的新手.我知道关于线程的以下内容:

  • thread_obj.join() 保持线程直到它结束

  • thread_obj.join(5000)保持线程5秒.然后以其他线程运行.

我知道那个join()并且join(millis)持有一段时间的线程.我的问题是,如果我们有更多的时间join()sleep()喜欢join(5000)sleep(1000)它将会运行得很好,并线保持5秒.再经过运行其他线程,但如果你在提供更少的时间join(),然后sleep()像,join(500)sleep(2000)join()保持线程,直到它结束了.

我有以下代码,我不明白 join()

public class THRD3 extends Thread { 
    public void run() {
        for(int i = 1 ; i <= 10 ; i++) {
            System.out.println(Thread.currentThread().getName()+" : "+i);

            try { 
                //Thread.sleep(500); 
                Thread.sleep(2000);
            }
            catch (InterruptedException e) {e.printStackTrace();}
        }
    }
    public static void main(String[] args) throws InterruptedException {    
        THRD3 obj = new THRD3();
        THRD3 obj1 …
Run Code Online (Sandbox Code Playgroud)

java multithreading

-3
推荐指数
1
解决办法
100
查看次数

标签 统计

java ×1

multithreading ×1