千峰java 笔记整理_千锋--多线程笔记
进程:正在运行的程序
多线程处于宏观上的并行/微观上的串行状态
第一种实现多线程的方法:
新增类继承Thread
重写run方法
在测试类中创建子对象调用start()方法启动该子线程
第二种实现多线程的方法:
新增类实现runnable
重写run方法
在测试类中创建子对象
创建线程对象,子对象作为线程对象的参数,调用start()方法启动该子线程
实际使用过程中也有其他的方法
java虚拟机启动都会自己创建一个主线程
不同的线程交替执行,在各个计算机中是不一样的,甚至在同一台计算机中不同时间也是不一样的, 但是交替执行是必须的
开启一个子线程的方法是start(),如果直接调用run方法,那么这个run方法会被当成一个普通的方法,不会交替执行
线程的优先级:
优先级的值只能是1-10的int值,超出范围会报异常( 非法参数异常)
使用方法:线程对象.setPriority(Thread.MAX_PRIORITY)
线程合并,
当前线程释放cpu资源,线程暂停
主线程需要等合并的线程全部执行完毕后才能再次执行,
join之前,线程一定要处于就绪状态
守护线程的特点是:
所有的前台的线程都结束了,后台的线程不论有没有执行完毕都会消亡
后台线程可以比前台线程先执行结束
设置线程为守护线程:thread.setDaemon(true)
线程休眠:thread.sleep(时间:毫秒)
线程让步:
可以将当前正在执行的线程暂停,但不会阻塞该线程,只是将线程变成就绪状态
特点:某个线程调用了yield方法之后,只有优先级一致或者高于其优先级的处于就绪状态的线程才能有执行的机会
某个线程执行yield方法让出cpu资源后,不一定就是执行其他的线程,也有可能继续执行当前线程
线程的生命周期\
new新建状态 Thread t = new Thread();
runnable就绪状态,没有获取到cpu资源,处于可运行状态,并没有真正的运行
running运行状态 就绪状态的线程抢到了cpu的资源开始运行就是运行状态
block阻塞状态 ,执行一些阻塞方法编程了阻塞状态,线程不运行
dead:死亡状态
程序运行完毕正常结束
调用stop方法强制提前结束
sleep与wait对比
共同点:都会抛出InterruptedException异常
sleep
指定休息时间,自动处于可运行状态
不释放锁
Thread类的静态方法,只能通过Thread类或者对象来调用
Thread类中有两个重载的方法
wait
等待,需要被唤醒
会释放锁
Object类的方法,哪里都可以使用
Object类中有3个重载方法
千峰java 笔记整理_千锋--多线程笔记相关推荐
- 大一微积分笔记整理_大一高数笔记.doc
大一高数笔记.doc 导数与极限(一)极限1.概念(1)自变量趋向于有限值的函数极限定义(定义)Axfa)(lim0,,当||0ax时,有|)(|Axf.(2)单侧极限左 ...
- 大一高数下册笔记整理_初中化学期中重难点解读,复习不用愁啦,建议抄笔记...
第一章 大家都来学化学 第二章 空气.物质的构成 一.空气 二.构成物质的微粒--分子.原子.离子 三.元素.物质的分类 往期精彩回顾01知识归纳总结 初中化学:实验操作步骤+专题训练,细致 ...
- 大一微积分笔记整理_如何学好高等数学,尤其是大一的极限、微积分?
本篇回答主要包括以下三部分内容: 首先,介绍高等数学的研究对象和研究内容: 其次,对于高等数学学习的几点建议: 最后,推荐几本微积分教材.参考书. 高等数学的研究对象和研究内容: 1.研究对象:函数 ...
- 千峰java 笔记整理_JAVA学习笔记系列:菜鸟Vue学习笔记(四)
菜鸟Vue学习笔记(四) 上周学习了使用Vue来操作表单元素进行数据双向绑定,今天我们来学习下Vue中的组件,Vue中的组件作用就是去封装一些常用的页面标签,将其当做一个整体,以便在其他位置直接使用一 ...
- 字节跳动面试官:千峰java培训多少钱
并发编程三大特性 原子性 一个操作或者多次操作,要么所有的操作全部都得到执行并且不会受到任何因素的干扰而中断,要么所有的操作都执行,要么都不执行. 对于基本数据类型的访问,读写都是原子性的[long和 ...
- 千峰JAVA逆战班Day49
Day49 *下载文件案例:就是使用IO传输数据 private String resourceLocation = "D:\\Users\\t\\nginx-1.17.2\\html\\a ...
- 千峰JAVA逆战班Day37
Day37 *DQL语句(数据库查询语句) I. 关系型数据库:表与表之间可以建立关系:称之为主外键. 主键:在一个表中可以唯一标识一条记录,不能重复,不可为空. 外键:当前表中的外键指的是另 ...
- 千峰JAVA逆战班Day35
Day35 *注解:就是给代码中的方法,属性,参数等贴上了一个标签 注解的定义:@interface 注解名字 public @interface MyAnno{} 用法:在你想要贴上注解的地方的前面 ...
- 千峰JAVA逆战班Day38
Day38 *连接查询:必须是两个或以上表之间且一定有主外键关系,才能进行连接查询 I. 内连接:inner join on SELECT bid,bname,bprice,book.`tid`, ...
最新文章
- linux之reboot
- JS中fori和forEach跳出循环的问题
- 《此生未完成》痛句摘录(2)
- android中白色怎么表示,通知栏图标在android 5中变成白色
- bi数据分析师_BI工程师和数据分析师的5个格式塔原则
- linux platform 驱动模型分析
- Linux学习笔记-消息队列的打开、创建、控制
- STM32F103串口收发
- NAS网络配置、资源管理和用户访问权限
- windows 10(64位) 本地模式安装Hadoop和Hbase
- hive drop表恢复手册
- 3dsMax纸风车建模教程
- 服务器怎么导入皮肤文件,Malody皮肤导入的详细技巧
- 计算机睡眠状态能挂游戏,windows10睡眠挂游戏
- 计算机sd模式怎么打游戏,绝地求生提升fps方法,绝地求生吃鸡游戏提高帧数优化教程(图文)...
- vue实现绑定微信登录全过程
- 趣味seo-网站被搜索引擎降权恢复的六大诀窍
- Aegisub打轴学习笔记
- Android 来电监听
- 窗口 (好久没写了╮(╯▽╰)╭)
热门文章
- 小程序的服务器费用谁出,小程序服务器费用一年多少
- MG动画实例——缓冲图标
- loj#6169. 相似序列 hash+主席树
- 自动空调是嵌入计算机,汽车自动空调基本结构及原理
- 广工研究生计算机学院学费,东北林业大学信息与计算机工程学院2017年研究生学费及奖学金...
- 第十八章 组织级项目管理
- 【系统美化】windows7奇趣猫主题
- vue仿微博评论回复_vue 网页版聊天系统|仿微信、微博网页端
- 【DDD】领域驱动设计实践 —— UI层实现
- 新标日初级上册单词1----4