[logseq-plugin-git:commit] 2024-06-28T07:27:47.836Z
This commit is contained in:
@@ -7,10 +7,15 @@
|
||||
card-next-schedule:: 2024-06-24T05:04:01.066Z
|
||||
card-last-reviewed:: 2024-06-20T02:04:01.066Z
|
||||
card-last-score:: 5
|
||||
id:: 665c19a3-e403-4fab-8b1a-dffd22ff435f
|
||||
- 使用 {{cloze execute}} 来提交一个任务,使用 {{cloze submit}} 后会放在 {{cloze 一个Future里面}} ,返回 {{cloze 一个Future}}
|
||||
id:: 665c19a3-9d4e-4d10-9139-e01011553e83
|
||||
- 提交之后判断 {{cloze 当前woker数量}} 是否达到 {{cloze 最大核心线程数}} ,没有达到就创建线程并执行任务
|
||||
id:: 665c19a3-0039-4779-8e95-bcb7a2c812cf
|
||||
- 如果该数值已经达到最大值,就将该任务放入 {{cloze 阻塞队列}}
|
||||
id:: 665c19a3-4a57-4c88-8514-3472d634bee3
|
||||
- 如果 {{cloze 阻塞队列已满}} , addWorker创建新的线程,如果达到 {{cloze 最大线程数}} ,就执行 {{cloze 拒绝策略}} ,默认为 {{cloze RejectedExecutionHandler,达到最大就抛出异常}}
|
||||
id:: 665c19a3-2d03-4ebe-b5a7-2ba1bd9b9a57
|
||||
-
|
||||
- 线程池中有 {{cloze 5}} 种状态,分别是如何变化的 #card #java
|
||||
card-last-interval:: 4.14
|
||||
@@ -19,13 +24,20 @@
|
||||
card-next-schedule:: 2024-06-24T05:01:28.170Z
|
||||
card-last-reviewed:: 2024-06-20T02:01:28.171Z
|
||||
card-last-score:: 5
|
||||
id:: 665c19a3-7e06-4268-a348-021d68254bd0
|
||||
- 线程池中使用一个 {{cloze Atomic类型的ctl}} 变量来存储状态
|
||||
id:: 665c19a3-891a-4cc7-90eb-26cde10e5813
|
||||
- 共有以下5个状态
|
||||
- RUNNING {{cloze 运行中的状态,此时会接受新提交的任务}}
|
||||
id:: 665c19a3-920a-4b8d-95aa-45f1a34fca98
|
||||
- SHUTDOWN {{cloze 不再接受新的任务,已有的任务会继续执行完成}}
|
||||
id:: 665c19a3-b53a-412c-9827-64b7711d1f28
|
||||
- STOP {{cloze 不接受新任务,并且立即中止正在执行的任务}}
|
||||
id:: 665c19a3-6fb1-4528-9701-387ae1ae877a
|
||||
- TIDYING {{cloze 所有线程都中止后,会进入该状态,等待关闭}}
|
||||
id:: 665c19a3-c108-4ac7-a872-2017611dffbd
|
||||
- TERMINATED {{cloze 执行了terminated()方法后即进入该状态}}
|
||||
id:: 665c19a3-5a57-4cdc-85b2-303167297d60
|
||||
- 如何优雅地停止一个线程 #card #java
|
||||
card-last-interval:: 4.14
|
||||
card-repeats:: 1
|
||||
@@ -33,12 +45,20 @@
|
||||
card-next-schedule:: 2024-06-24T05:06:35.936Z
|
||||
card-last-reviewed:: 2024-06-20T02:06:35.937Z
|
||||
card-last-score:: 5
|
||||
id:: 665c19a3-6db8-4524-976a-d0c89560dd47
|
||||
- 开启一个线程
|
||||
- 无返回值,使用 {{cloze execute}}
|
||||
id:: 665c19a3-a126-4800-87bb-1bdb5215364a
|
||||
- 有返回值,使用 {{cloze submit}}
|
||||
id:: 665c19a3-a6f7-40e0-a389-f3fe01c47416
|
||||
- 使用thread对象的 {{cloze stop()}} 方法 `false`
|
||||
id:: 665c19a3-e303-49fe-bfa9-b679cdfc9280
|
||||
- 该方法会直接停止,已废弃,会释放 {{cloze synchronized锁}},但是不会释放 {{cloze ReentrantLock锁}}
|
||||
id:: 665c19a3-95d4-4f4a-abfb-e42b63845737
|
||||
- 使用 {{cloze interrupt}} 方法 `true`
|
||||
id:: 665c19a3-610d-474d-a582-b42ec2306650
|
||||
- 通过 {{cloze Thread.getCurrent.isInterrupted}} 可以接受到中断的信号,但是由线程自己控制是否中止
|
||||
id:: 665c19a3-256b-43c6-a8a7-ba51bc0c527f
|
||||
- 睡眠时被中断会抛出 {{cloze InterruptedException}}
|
||||
id:: 665c19a3-d972-4754-be95-2328ab1bdb2b
|
||||
-
|
||||
@@ -5,6 +5,7 @@
|
||||
card-next-schedule:: 2024-06-24T05:07:31.387Z
|
||||
card-last-reviewed:: 2024-06-20T02:07:31.387Z
|
||||
card-last-score:: 5
|
||||
id:: 66737090-577a-408a-940d-38560a44fcf0
|
||||
- 每一列都是不可再分割的
|
||||
logseq.order-list-type:: number
|
||||
- 每列属性都是与主键相关的,完全依赖于主键
|
||||
@@ -12,6 +13,7 @@
|
||||
- 每列属性都是与主键直接相关,非间接相关
|
||||
logseq.order-list-type:: number
|
||||
- drop delete和truncate #card #java
|
||||
id:: 66739041-2c72-4209-9324-d12d8e36af5a
|
||||
- drop是删除某个表格
|
||||
- delete是删除数据,主键自增不会改变
|
||||
- truncate清清空数据,同时清除主键自增序列
|
||||
|
||||
Reference in New Issue
Block a user