Java教程

有时效的 join

本文主要是介绍有时效的 join,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

有时效的 join 若等待的时间超过线程执行的时间,那么在线程执行完之后就后执行后边了,不会等到设置的时间。

static int r1 = 0;
static int r2 = 0;
public static void main(String[] args) throws InterruptedException {
          
   
 test3();
}
public static void test3() throws InterruptedException {
          
   
 Thread t1 = new Thread(() -> {
          
   
 sleep(1);
 r1 = 10;
 });
 long start = System.currentTimeMillis();
 t1.start();
// 线程执行结束会导致 join 结束
 t1.join(1500);
 long end = System.currentTimeMillis();
 log.debug("r1: {} r2: {} cost: {}", r1, r2, end - start);
}
20:48:01.320 [main] c.TestJoin - r1: 10 r2: 0 cost: 1010
static int r1 = 0;
static int r2 = 0;
public static void main(String[] args) throws InterruptedException {
          
   
 test3();
}
public static void test3() throws InterruptedException {
          
   
 Thread t1 = new Thread(() -> {
          
   
 sleep(2);
 r1 = 10;
 });
 long start = System.currentTimeMillis();
 t1.start();
 // 线程执行结束会导致 join 结束
 t1.join(1500);
 long end = System.currentTimeMillis();
 log.debug("r1: {} r2: {} cost: {}", r1, r2, end - start);
}

//20:52:15.623 [main] c.TestJoin - r1: 0 r2: 0 cost: 1502
这篇关于有时效的 join的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!