[Java基础笔记]线程部分
来源:互联网 发布:ios横版动作游戏 知乎 编辑:程序博客网 时间:2024/05/21 09:12
线程状态
- New:新创建
- Runnable:可运行
- Blocked:被阻塞
- Waiting:等待
- Timed Waiting:计时等待
- Terminated:被终止
确认线程状态:getState方法
注意事项
- 完成线程功能代码放在类内的run()方法中,而调用时使用start()方法
- Java不支持多继承,若使用已继承其他类的程序使用线程,可以使用Runnable接口(建立Runnable对象,使用带Runnable对象的构造方法创建Thread,最后调用start()方法)
创建独立线程
1.通过接口实现//创建线程接口类public xx implements Runnable{public void run(){...}}//赋值线程xx r = new xx();Thread t = new Thread(r);//启动t.start(); 2.通过继承实现public xx extends Thread{public void run(){...}}<pre name="code" class="java">//赋值线程xx t = new xx();//启动t.start();
线程中断判别
public void run(){try{while(!Thread.currentThread().isInterrupted()){...}catch(InterruptedException e){...}finally{...}}
线程终止原因
- 因run正常退出而死亡
- 因一个未捕获的异常终止run而意外死亡
锁
ReentrantLock:
//类内定义锁private final ReentrantLock xx = new ReentrantLock();//在方法内调用锁xx.lock();try{...}finally{xx.unlock();}
内部锁synchronized:
//类内方法调用(volatite关键字也类似)public synchronized void method(){...}
读/写锁:
//构造一个读写锁对象ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();//抽取读锁、写锁private Lock readlock = rwl.readLock();private Lock writelock = rwl.writeLcck();//自行在方法内加读锁readlock.lock();try{...}finally{readlock.unlock();}//自行在方法内加写锁writelock.lock();try{...}finally{writelock.unlock();}
0 0
- [Java基础笔记]线程部分
- Java基础部分笔记
- 笔记-java线程基础
- [Java基础笔记]读写部分
- Java基础部分重要笔记
- [好程序员训练营]----java基础之多线程部分学习笔记
- java基础部分-《第二部分》-线程部…
- java基础部分-《第二部分》-线程部…
- Java基础笔记之多线程
- JAVA学习笔记------程序设计基础部分
- [Java基础笔记]可视化窗体部分
- [Java基础笔记]服务器/客户端交互部分
- 学习笔记1-java基础部分-面试
- Java基础笔记之多线程(一)
- 黑马程序员java基础线程章节笔记
- java线程基础——笔记
- java线程基础——笔记2
- 【Java基础】线程笔记——ThreadApi
- 如何利用iOS多核高效遍历数组.
- C/C++ 创建、删除目录
- 第四天 清除行列
- 欢迎使用CSDN-markdown编辑器
- Zedboard上运行Linaro系统(四):文件系统
- [Java基础笔记]线程部分
- Spring源码导入Eclipse
- Java学习笔记_day1
- 二级tableView联动
- #org.apache.hadoop.conf.Configuration.addDeprecations
- java开发命名规范
- 浅谈a伪类选择器的书写顺序
- Activity之间用 intent.putExtra传值,bundle.getString取值为空null
- ios强制横屏