线程join方法用处「建议收藏」

线程join方法用处「建议收藏」参考博客:https://www.cnblogs.com/lcplcpjava/p/6896904.html第一种情况(不使用join):ThreadJoinTestt1=newThreadJoinTest(“小明”);ThreadJoinTestt2=newThreadJoinTest(“小东”);t1.start();

大家好,又见面了,我是你们的朋友全栈君。

参考博客:https://www.cnblogs.com/lcplcpjava/p/6896904.html

第一种情况(不使用join):

        ThreadJoinTest t1 = new ThreadJoinTest("小明");
        ThreadJoinTest t2 = new ThreadJoinTest("小东");
        t1.start();        
        t2.start();

这种情况下,线程t1、线程t2公平争抢

第二种情况(join的作用):

        ThreadJoinTest t1 = new ThreadJoinTest("小明");
        ThreadJoinTest t2 = new ThreadJoinTest("小东");
        t1.start();        
        t1.join();
        t2.start();

线程t1、线程t2使得原来公平争抢,变成了线程t1调用join的这个线程,线程t1拥有了更高的权限(t1线程跑完了,t2才会走)

第三种情况(join不起作用):

        ThreadJoinTest t1 = new ThreadJoinTest("小明");
        ThreadJoinTest t2 = new ThreadJoinTest("小东");
        t1.join();
        t1.start();      
        t2.start();

线程t1、线程t2交替争抢(join不起作用)

原因:采用上面博客的结论
join方法是通过调用线程的wait方法来达到同步的目的的。例如,A线程中调用了B线程的join方法,则相当于A线程调用了B线程的wait方法,在调用了B线程的wait方法后,A线程就会进入阻塞状态

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141857.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中scanner的作用_Java中的Scanner类有什么作用[通俗易懂]

    java中scanner的作用_Java中的Scanner类有什么作用[通俗易懂]介绍:简单来说,Scanner就是用来获取用户在控制台输入的字符串,也可以获取一个文件中的字符串。java.util.Scanner是Java5的特征,一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。使用方法介绍:1、使用不同的next方法将得到的标记转换为不同类型的值,比如说要从获控制台取一个输入字符串中的int类型的数字,使用nextInt。代码示例:Scanners…

    2022年7月20日
    15
  • 什么是多线程?如何实现多线程?[通俗易懂]

    什么是多线程?如何实现多线程?[通俗易懂]【转】什么是线程安全?怎么实现线程安全?什么是进程?什么是线程?什么是线程安全?添加一个状态呢?如何确保线程安全?synchronizedlock转自:https://blog.csdn.net/csdnnews/article/details/82321777什么是进程?电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。比如下图中的QQ、酷狗播放器、电脑…

    2022年6月5日
    28
  • dede织梦怎么修改description的字数

    dede织梦怎么修改description的字数

    2021年9月22日
    43
  • 解惑4:java是值传递还是引用传递

    解惑4:java是值传递还是引用传递一、概述曾经纠结了很久java的参数传递方式是什么样的,后面粗略的了解了一鳞半爪以后有了大概的印象:“传参数就是值传递,传对象就是引用传递”,后面进一步查找了相关资料和文章以后,发现这么理解是不正确

    2022年8月16日
    8
  • 解决ubuntu虚拟机桥接模式下不能上网

    解决ubuntu虚拟机桥接模式下不能上网①sudovim/etc/network/interfaces修改ip和主机在同一网段,gateway和主机一致(ipconfig-all查看主机ip信息)②重启虚拟机,重启之后配置的静态ip才能生效③配置dnssudovim/etc/resolv.conf和主机一直④重启网络sudo/etc/init.d/networkingrestart…

    2022年6月9日
    64
  • springbatch 批处理框架的介绍

    springbatch 批处理框架的介绍springbatch批处理框架的介绍(还在整理中。。。。。。。。有点乱,待更新)SpringBatch是什么?官网中介绍SpringBatchisalightweight,comprehensivebatchframeworkdesignedtoenablethedevelopmentofrobustbatchapplicationsvital…

    2022年5月27日
    75

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号