java多线程的总结
目录
1|0一、线程的休眠(毫秒为单位)
Thread.sleep(100)
2|0二、线程的加入
如果当线程为多线程程序,假如存在一个线程A ,现在需要加入一个线程B,并要求线程B先执行完毕,在执行A程序,此时可以用Thread中的join()方法来完成。举个例子就好像你正在吃饭,有个人给你打电话,你扔下筷子去接电话,然后打完电话继续回来吃饭。
3|0三、线程的中断
方法一 、 stop()来结束线程
方法二、 run()方法中使用无线循环的形式,然后使用布尔型标记控制循环的停止
方法三、使用Thread类中的interrupt()方法使线程远离run()方法,同时结束线程
Thread.interrupted();
区别1,interrupted()属于类方法,而interrupt()和isInterrupted()属于对象方法。
区别2:
interrupted():返回当前线程的中断标志位,并设置中断标志位false;
interrupt():设置线程对象的中断标志位为true;
isInterrupted():返回线程对象的中断标志位。
关于,当线程满足两个条件,阻塞状态和中断标志为ture,则会抛出InterruptedException异常,并且会自动将中断标志位设置为false,阻塞方法,一般有,Thread.sleep(…),Object.wait(…),join(…),中断不会停止线程。
4|0四、线程的礼让
礼让线程,让正执行的线程停止,但不阻塞
将线程从运行状态转为就绪状态
让cpu重新调度,礼让不一定成功,看cpu心情
5|0 五、线程的优先级
线程优先级的定义方法
ThreadA.setPriority(10)//优先级的定义可以定义在1~10;
6|0 六、线程的同步机制
1、同步块
如果不设置sychronized关键字的时候,多线程无法自己判断如何结束,即当num>0的时候会一直执行各个线程,我们需要设定资源冲突问题的解决办法,当设置sychronized关键字的时候,就会给共享资源上一道锁,允许一个线程进去
2、同步方法
当对象调用同步方法的时候必须先执行完其他的同步方法才能被执行(必须将每个能访问的共享资源都定义为synchronized类型)
__EOF__

本文链接:https://www.cnblogs.com/20kkk/p/16537554.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律