跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

有时效的 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

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。