摘要:如果没有前台线程了,那么整个程序都会结束。线程的合并将子线程加入主线程,两个线程合并秒后分开。线程同步代码块必须是同一个对象才能进行同步。生命周期方法完成方法阻塞恢复线程执行,以上方法容易造成死锁。线程的优先级默认为。
线程知识点归纳,后续更新
后台线程:设置Thread.setDaemon(true)就是后台线程了。
前台线程:不设置。
如果没有前台线程了,那么整个程序都会结束。
线程的合并:Thread.join(10000);
将子线程加入主线程,两个线程合并10秒后分开。
线程同步:
synchronized(Object){ 代码块 } Object必须是同一个对象才能进行同步。
在方法前面加synchronized。new Thread(Object).start();start只是准备运行,处于准备状态,并不是确定开始执行。
实现代码块与方法的同步:synchronized(Object),
Object为Object.class(两个为同一个对象监视器)
死锁:你等我,我等你
线程间的通信:(要是同一个对象的waitnotifynotifyAll)
wait:告诉当前线程放弃监视器并进入睡眠状态,直到其他线程进入同一监视器并调用notify为止。
notify:唤醒同一对象监视器中调用wait的第一个线程。用于类似饭馆有一个空位后通知所有等候就餐的顾客中的第一位可以入座的情况。
notifyAll:唤醒同一对象监视器中调用wait的所有线程,具有最高优先级的线程首先被唤醒并执行。
生命周期:start-->runnable-->running-->run()方法完成
方法:
suspend(阻塞),resumen(恢复线程执行),stop()
以上方法容易造成死锁。最好用一个变量去控制它的生命周期。
sleep方法:让当前线程休眠。自己拥有锁,不让出。
自己过一段时间可以醒。
而wait方法,是在等待,让出了锁,需要别人叫醒。
yield方法:让出cpu,给其他线程执行机会。
线程的优先级(Priority):默认为5。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/70688.html
摘要:哪吒社区技能树打卡打卡贴函数式接口简介领域优质创作者哪吒公众号作者架构师奋斗者扫描主页左侧二维码,加入群聊,一起学习一起进步欢迎点赞收藏留言前情提要无意间听到领导们的谈话,现在公司的现状是码农太多,但能独立带队的人太少,简而言之,不缺干 ? 哪吒社区Java技能树打卡 【打卡贴 day2...
摘要:本篇博客主要针对虚拟机的晚期编译优化,内存模型与线程,线程安全与锁优化进行总结,其余部分总结请点击虚拟总结上篇,虚拟机总结中篇。 本篇博客主要针对Java虚拟机的晚期编译优化,Java内存模型与线程,线程安全与锁优化进行总结,其余部分总结请点击Java虚拟总结上篇 ,Java虚拟机总结中篇。 一.晚期运行期优化 即时编译器JIT 即时编译器JIT的作用就是热点代码转换为平台相关的机器码...
摘要:时间年月日星期六说明本文部分内容均来自慕课网。慕课网教学源码无学习源码第一章课前准备前言课程说明比较和这两种线程创建的方式,需要知道和的基本创建方式。一旦主线程获取到了用户的输入,这时候,阻塞就会解除掉,主线程继续运行,直到结束。 时间:2017年07月08日星期六说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学源码:无学习源码:https://g...
摘要:本文主要内容为简单总结中线程池的相关信息。方法簇方法簇用于创建固定线程数的线程池。三种常见线程池的对比上文总结了工具类创建常见线程池的方法,现对三种线程池区别进行比较。 概述 线程可认为是操作系统可调度的最小的程序执行序列,一般作为进程的组成部分,同一进程中多个线程可共享该进程的资源(如内存等)。在单核处理器架构下,操作系统一般使用分时的方式实现多线程;在多核处理器架构下,多个线程能够...
摘要:多线程环境下的一些问题安全性问题在没有正确同步的情况下,多线程环境下程序可能得出错误的结果。一些相关概念竞争条件多线程的环境下,程序执行的结果取决于线程交替执行的方式。而线程的交替操作顺序是不可预测的,如此程序执行的结果也是不可预测的。 入口 Java多线程的应用复杂性之如jvm有限的几个内存方面的操作和规范,就像无数纷繁复杂的应用逻辑建立在有限的指令集上。 如何写出线程安全的程序,有...
时间:2017年07月09日星期日说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学源码:无学习源码:https://github.com/zccodere/s... 第一章:课程简介 1-1 课程简介 课程目标和学习内容 共享变量在线程间的可见性 synchronized实现可见性 volatile实现可见性 指令重排序 as-if-seria...
阅读 3362·2021-11-22 15:22
阅读 2280·2021-09-06 15:00
阅读 842·2020-06-22 14:39
阅读 3675·2019-08-30 15:56
阅读 1518·2019-08-30 12:55
阅读 3230·2019-08-29 17:19
阅读 3207·2019-08-26 11:41
阅读 598·2019-08-23 17:14