Skip to content

Commit 181d551

Browse files
Thread Core knowledge
1 parent 37be8be commit 181d551

File tree

6 files changed

+34
-1
lines changed

6 files changed

+34
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Java并发编程
1313
线程安全问题
1414
ThreadPool
1515
ThreadLocal
16+
线程核心知识总结
1617
1718

1819
##
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* 线程核心基础知识总结
3+
*
4+
* @Author: zzStar
5+
* @Date: 10-19-2020 14:40
6+
*/
7+
public class ThreadCoreKnowledge {
8+
9+
/**
10+
* 实现线程两种方法,本质是一种(最终调用target.run(),整个run方法被重写),优先选择Runnable接口及其优点
11+
* -> 也就是说,一种创建线程的方式,二种实现执行单元的方式
12+
* 开启线程的正确方法start
13+
* -> 启动新线程检查线程状态,加入线程组,调用native方法start0()
14+
* 停止线程的正确方法interrupt来请求
15+
* -> 优先选择:传递中断
16+
*/
17+
18+
/**
19+
* 处理不可中断的阻塞
20+
* 线程的六大状态(生命周期)
21+
* 消费者生产者设计模式的实现
22+
* 线程重要属性
23+
* 线程的重要方法
24+
* wait,notify,sleep异同
25+
* join期间线程处于waiting状态
26+
* 守护线程和普通线程的区别
27+
* 线程未捕获异常的处理UncaughtExceptionHandler
28+
*/
29+
}

Thread/src/importantmethod/join/JoinUsage.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
/**
44
* 新的线程加入了,要等待它执行完再出发
5+
* 注意 ! join的底层 native方法 线程执行后自动notifyAll()
56
*
67
* @Author: zzStar
78
* @Date: 10-18-2020 12:11

Thread/src/importantmethod/sleep/SleepUsage.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
/**
44
* 1.让线程在预期的时间执行,其他时候不要占用cpu资源
5-
* 2.不释放锁
5+
* 2.不释放锁,直到规定时间后再执行,休眠期间如果被中断,会抛出异常并清除中断状态
6+
* 3.Sleep方法可以让线程进入waiting状态,并且不占用CPU资源
67
*
78
* @Author: zzStar
89
* @Date: 10-17-2020 16:31
391 KB
Loading

Thread/src/stopthread/rightway/RightWayStopThreadWithSleepEveryLoop.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
/**
44
* 线程在每次迭代后都阻塞,也即每次循环都会调用sleep或wait方法,则不需要每次迭代都检查是否已中断
5+
* 注意 ❗ 在while内try/catch会导致线程无法停止
56
*
67
* @Author: zzStar
78
* @Date: 10-14-2020 17:02

0 commit comments

Comments
 (0)