Java 核心编程 07

61,Java中,所有链表都是 双向链表

62,多线程在比较低的层次上扩展了多任务的概念,一个程序可以同时执行多个任务,每个任务称为一个线程。
多进程 多线程的本质区别: 每个进程拥有自己一整套的变量,而多线程需要共用。

63,线程如何响应中断 是 线程自己要考虑的事。

64,线程状态
new 新生
runnable 可运行
blocked 被阻塞 当线程试图获取内部锁,而该锁被其他线程占有时,线程阻塞
waiting 等待 wait 或者 join
timed waiting 计时等待
Terminated 被终止

65,不要将程序的正确性 依赖 优先级上

66,守护线程 (如果只剩下守护线程, 虚拟机就退出了),这个方法,必须在线程启动之前调用
t.SetDaemon(true)

67,解决线程同步的问题 ReentrantLock
myLock.lock();
try{
//some code

}finally{
myLock.unlock();
}

Condition对象是锁的。

68,synchronized 内部的对象锁

69,volatile 说明 这个域 可能被另一个线程同步更新

70,下面三个条件下,并发访问安全
1,final 域
2,对域的访问由共有的锁保护
3,volatile的

71,为什么弃用stop 和 suspend方法
导致死锁

72,或者使用阻塞队列,来避免使用锁

73,并发集合

猜你喜欢

转载自blog.csdn.net/u012063703/article/details/68066974