java中的线程
来源:互联网 发布:剑灵忽雷捏脸数据 编辑:程序博客网 时间:2024/06/08 15:27
1.继承Thread类,2,实现Runnable接口, 或者Callable接口,实现接口的好处是,多个线程可以共同完成一个接口实例。同一个targe;非常适合多个线程来处理同一个份资源。
2。不要直接运行线程的run方法。这样做还是单线程。不是多线程,而且,此时的现成已经不处于新建状态,不能用start()方法来让线程处于就绪状态。 会报出异常。
3.线程的状态, 新建--》就绪--》运行--》阻塞--》死亡。
4,线程阻塞的时机:1,sleep()主动放弃机会,让其他线程占用,2,遇到阻塞式IO,3,获取一个同步监视器。4.等待一个通知,5.挂起(suspend,resume());
5.yield()或者是去时间片,就会从运行状态变回就绪状态。 调用stop,异常,执行完,都会从运行状态变回死亡状态。
6.isAlive()方法来测试线程是否处于运行状态。新建状态跟死亡状态返回 false, 就绪,阻塞,运行状态, 属于 true;
7.不要对一个死亡的线程调用 start();方法。将会引发, IllegalThreadStateException
8.join方法,调用线程必须等待被调用的线程执行完成后,才能执行。
9.后台线程, setDaemon(true) 可以将线程设置为后台线程。当前台所有的线程都结束时,后台线程自动结束。
10。调用sleep方法要处理异常。
11.setPriority设置优先级。10个优先级,但是操作系统未必支持。还是用系统定义的常量来设置。
12.synchronized(0bj){方法体} 加锁--》修改--》释放。。 临界资源。
13.如果一个类中有个方法用synchronized修饰,对于同一对象而言,任何时候只能有一个线程对这个对象加锁。
14. 对于可变类来说,应该提供2个类,一个是单线程,一个是多线程版本,如stringBuffer多线程,stringBuilderd单线程。
15.在什么时候线程释放锁,1.执行完或遇见error。2,调用wait()方法。 如果调用了sleep,yield,suspend,resume.方法,都不会放弃锁。
16.同步方法容易造成死锁,比如A对象加锁,调用B对象的方法。B对象也加锁,调用了A的方法。
17.Lock比同步方法或同步代码块更强大。有很多方法。不止是同步代码块与同步方法。
18.线程间的通信,wait();notify(); notifyall(); 使用了wait();线程释放了同步锁,然后进入阻塞状态,只有用notify();或者 notifyAll():才能唤醒。
19.如果使用了隐式的同步监视器,synchonized方法或方法块。 一个是对象本身,一个是对象。才可以使用wait()与 Notify
20.lock锁可以使用condition来通信。
21. lock lock.newCondition();
22.lock.lock(); lock.unlock(); cond.await(); cond.signalAll();
23.使用阻塞队列控制线程通信。
put,阻塞,offer false, add() 异常, take(); 阻塞, remove();异常,poll() ;false;
BlockingQueue;阻塞队列。
24.java中可以把大任务分成多个小人物在不同的CPU上执行。
- Java中的线程
- Java中的线程续
- Java中的线程同步
- JAVA中的线程池
- java中的线程池
- Java中的线程池
- java中的线程池
- java中的线程
- Java中的线程
- Java SE中的线程
- java中的线程同步
- java中的线程
- java线程中的join
- java中的线程
- JAVA中的守护线程
- java中的线程池
- Java中的线程池
- Java中的线程
- 空气质量数据下载
- poj2352stars【treap树水题】
- Linux下的多线程调试
- 引导界面微场景交互设计与技术实现V1.0
- 临时笔记
- java中的线程
- Spark问题之More than one scala library found in the build path
- sed编辑器
- 接着ACM2002
- Tomcat热部署
- 用LED灯和按键来模拟工业自动化设备的运动控制
- iOS9.2崩溃:NSTimer(PhotosUI) blockInvoke
- Spark学习笔记4-Scala模式匹配
- 对PyStringObject的认识(Intern机制) http://blog.csdn.net/wangyuquanliuli/article/details/8522302