多线程、同步
来源:互联网 发布:单片机串口初始化程序 编辑:程序博客网 时间:2024/06/02 09:38
创建线程的两种方式:
1、继承Thread类:
2、实现Runnable接口(推荐使用,因为java单继承多实现):
线程的运行顺序是混乱的,谁先抢到CPU谁先运行
线程状态:new新建状态、start就绪状态(排队等待抢CPU)、run运行状态(哪个线程抢到CPU哪个线程就自动运行本身的run方法)、stop destroy:死亡状态
线程优先级高的有可能优先抢到CPU控制权,优先级只有1、5、10
thread.setPriority(Thread.MAX_PRIORITY); 改变线程的优先级写常量不用数字
Synchronized void methodA(){ } 同步方法
Synchronized (object){ 需要同步的代码 } 同步块
同步块放牵扯到数据操作的代码让其同步,同步块里的代码在同一时间点只能有一个线程访问。
wait——notify机制
wait( ) notify( ) notifyAll( ) 方法是Object类中的final方法实现的(线程间通讯机制)
wait( ) :告知被调用的线程退出监视器进入等待状态,直到其他线程进入相同的监视器并调用notify()方法。
(让本身的线程进入等待状态)
notify( ) :通知同一对象上第一个调用wait( )线程
(试图唤醒正在等待的第一个线程)
notifyAll( ):通知调用wait( )的所有线程,先抢到CPU的线程先运行。
(试图唤醒其他正在等待的所有线程)
- 多线程同步
- 多线程同步
- 多线程同步
- 多线程同步
- 多线程同步
- 多线程同步
- 多线程同步
- 多线程同步
- 同步多线程
- 多线程同步
- 多线程同步
- 多线程、同步
- 多线程同步
- 多线程同步
- 多线程同步
- 多线程同步
- 多线程同步
- 多线程同步
- MFC之模态与非模态对话框的创建与销毁
- js计算器
- testFlight,ios测试解决方案
- JAVA自学-路线图明细
- 仿做google分页效果
- 多线程、同步
- alter system的常用命令
- 这几天将ucGUI移植到QT4下面了。
- infoQ专访HTML5版Clear应用作者尤雨溪
- Struts2实例1--------登录案例的实现
- 清华大学2007年复试上机题 解题报告
- 分享一个HTML5画布实现的超酷文字弹跳球效果
- 构建高性能javascript代码的几点意见
- malloc()和calloc()区别