JAVA多线程我的总结
来源:互联网 发布:编程真好玩 pdf 编辑:程序博客网 时间:2024/05/17 22:17
以下总结主要针对jdk1.4, 不包括1.5之后的新特性
1. 线程的状态:New, Runnable, Blocked, Dead, 线程状态图见Core Java(page20)
Java 线程状态不同于OS教材中的状态,没有Running和Ready, 其实这两个状态隐含在Runnable这个状态中了
2. Thread.yield()方法放弃当前线程的运行,重新调度,不阻塞当前线程。注意它是Thread的静态方法
3. interrupt() , 中断当前线程,即使是sleep()中,也是退出sleep()的不二法则
4. 出现下列情况, 线程block
a) sleep(), 它不释放lock
b) I/O操作
c) wait(), 释放lock
d) 同步方法块等lock
5. 下列情况,退出block
a) sleep 结束
b) I/O结束
c) notify/notifyAll了wait在锁后面的线程,注意notify随机唤醒一个线程,其他继续wait, notifyAll唤醒所有的线程,这些线程将竞争lock
6. t.join, 是当前线程等待,直到t线程结束运行
7. volatile, 保证变量与主存一致,但它不能确保原子性
8. 一个对象synchronized方法可以调用该对象的另一个synchronized方法,因为这条执行path拿的是同一个锁
9. wait/notify/notifyAll是Object的方法,他们只能在synchronized方法或块中使用,应为他们控制lock
10. synchronized不能继承
11. 构造函数不能synchronized
12. 加锁3大原则
a) 永远只是在更新对象的成员变量时加锁
b) 永远只是在访问可能被更新对象的成员变量时加锁
c) 永远不要再调用其他对象(不包括成员对象)时加锁
- JAVA多线程我的总结
- java多线程的总结
- Java多线程的总结
- 我的java日记(多线程)
- 我的Java总结
- java多线程(6)--多线程的安全问题总结
- java 多线程的 小总结
- java多线程的知识点总结
- Java多线程的同步总结
- 【Java多线程】的学习总结
- java多线程方法的总结
- 致我曾经敲过的代码——初涉java多线程总结
- 我的Java学习总结
- 我的总结:java泛型
- 我的java开发总结
- 【Java总结-线程】Java多线程的使用
- 个人学习总结一Java的多线程
- java多线程的总结(一)
- java多线程设计模式(2)
- java多线程设计模式(1)
- 我逃课,只是为了自由!
- java多线程设计模式 (3)
- 高级应用 java多线程设计模式详解之一
- JAVA多线程我的总结
- 广东省2010届高校毕业生系列供需见面活动安排
- Java 多线程与并发编程总结
- java socket编程,多线程,客户端服务端
- 二元关系知识小结
- 随便写写
- 随便写写
- 随便写写
- Java socket编程 猜数游戏--1--服务端