
1
3
/0
4
/
2
0
1
8
Pa
g
e
3
o
f
2
8
3
3.4.3.
HashTable
(线程安全)
........................................................................................................... 53
3.4.4.
TreeMap
(可排序)
..................................................................................................................
53
3.4.5.
LinkHashMap
(记录插入顺
序)
.............................................................................................. 53
4.
JAVA 多线程并发 ................................................................................................................................. 54
4.1.1.
JAVA
并发知识库
.......................................................................................................................
54
4.1.2.
JAVA
线程实现
/
创建方式
..........................................................................................................
54
4.1.2.1.
继承 Thread
类 ........................................................................................................................................ 54
4.1.2.2.
实现 Runnable
接口。 ............................................................................................................................ 54
4.1.2.3.
ExecutorService
、Callable<Class>
、Future
有返回值线程 ............................................................. 55
4.1.2.4.
基于线程池的方式 ................................................................................................................................... 56
4.1.3.
4
种线程池
................................................................................................................................... 56
4.1.3.1.
newCachedThreadPool
......................................................................................................................... 57
4.1.3.2.
newFixedThreadPool
............................................................................................................................. 57
4.1.3.3.
newScheduledThreadPool
.................................................................................................................... 58
4.1.3.4.
newSingleThreadExecutor ................................................................................................................. 58
4.1.4.
线程生命周期
(
状态
)
.................................................................................................................... 58
4.1.4.1.
新建状态(NE
W
) ................................................................................................................................. 58
4.1.4.2.
就绪状态(RUNNABLE
): ................................................................................................................. 59
4.1.4.3.
运行状态(RUNNING
): .................................................................................................................... 59
4.1.4.4.
阻塞状态(BLOCKED
): .................................................................................................................... 59
等待阻塞(
o.wait->等待对列):
...................................................................................................................... 59
同步阻塞
(lock->锁池
) .......................................................................................................................................... 59
其他阻塞
(sleep/join) ............................................................................................................................................ 59
4.1.4.5.
线程死亡(DEAD
) ................................................................................................................................ 59
正常结束
................................................................................................................................................................ 59
异常结束
................................................................................................................................................................ 59
调用
stop ............................................................................................................................................................... 59
4.1.5.
终止线程
4
java面试100个基础知识
种方式
...................................................................................................................... 60
4.1.5.1.
正常运行结束 ........................................................................................................................................... 60
4.1.5.2.
使用退出标志退出线程 ........................................................................................................................... 60
4.1.5.3.
Interrupt
方法结束线程 ........................................................................................................................... 60
4.1.5.4.
stop
方法终止线程(线程不安全) ....................................................................................................... 61
4.1.6.
sleep
与
wait
区别
....................................................................................................................... 61
4.1.7.
start
与
run
区别
.......................................................................................................................... 62
4.1.8.
JAVA
后台线程
...........................................................................................................................
62
4.1.9.
JAVA
锁
.......................................................................................................................................
63
4.1.9.1.
乐观锁 ...................................................................................................................................................... 63
4.1.9.2.
悲观锁 ...................................................................................................................................................... 63
4.1.9.3.
自旋锁 ...................................................................................................................................................... 63
自旋锁的优缺点
.................................................................................................................................................... 63
自旋锁时间阈值(
1.6 引入了适应性自旋锁)
.................................................................................................. 63
自旋锁的开启
........................................................................................................................................................ 64
4.1.9.4.
Synchronized
同步锁 .............................................................................................................................. 64
Synchronized
作用范围 ....................................................................................................................................... 64
Synchronized
核心组件 ....................................................................................................................................... 64
Synchronized
实现 ............................................................................................................................................... 64
4.1.9.5.
ReentrantLock
......................................................................................................................................... 66
Lock
接口的主要方法 ........................................................................................................................................... 66
非公平锁
................................................................................................................................................................ 66
公平锁
.................................................................................................................................................................... 67
ReentrantLock
与 synchronized
........................................................................................................................ 67
ReentrantLock
实现 ............................................................................................................................................. 67
Condition
类和 Object
类锁方法区别区别 ......................................................................................................... 68
tryLock
和 lock
和 lockInterruptibly
的区别 ........................................................................................................ 68
4.1.9.6.
Semaphore
信号量 ................................................................................................................................. 68
实现互斥锁(计数器为
1)
................................................................................................................................. 68
代码实现
................................................................................................................................................................ 68
Semaphore
与 ReentrantLock
........................................................................................................................... 69
4
.1
.9
.
7
.
Ato
m
i
c
In
t
e
g
e
r
.......................................................................................................................................... 69
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/24711.html