File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed
Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -293,7 +293,7 @@ JDK1.6 对锁的实现引入了大量的优化,如偏向锁、轻量级锁、
293293
294294` synchronized ` 关键字和 ` volatile ` 关键字是两个互补的存在,而不是对立的存在!
295295
296- - ** ` volatile ` 关键字** 是线程同步的** 轻量级实现** ,所以 ** ` volatile ` 性能肯定比` synchronized ` 关键字要好** 。但是 ** ` volatile ` 关键字只能用于变量而 ` synchronized ` 关键字可以修饰方法以及代码块 ** 。
296+ - ** ` volatile ` 关键字** 是线程同步的** 轻量级实现** ,所以 ** ` volatile ` 性能肯定比` synchronized ` 关键字要好** 。但是 ** ` volatile ` 关键字只能用于变量而 ` synchronized ` 关键字可以修饰方法以及代码块** 。
297297- ** ` volatile ` 关键字能保证数据的可见性,但不能保证数据的原子性。` synchronized ` 关键字两者都能保证。**
298298- ** ` volatile ` 关键字主要用于解决变量在多个线程之间的可见性,而 ` synchronized ` 关键字解决的是多个线程之间访问资源的同步性。**
299299
@@ -618,8 +618,9 @@ public ThreadPoolExecutor(int corePoolSize,
618618
619619如果当前同时运行的线程数量达到最大线程数量并且队列也已经被放满了任时,` ThreadPoolTaskExecutor ` 定义一些策略:
620620
621- - ** ` ThreadPoolExecutor.AbortPolicy ` :** 抛出 ` RejectedExecutionException ` 来拒绝新任务的处理。
622- - ** ` ThreadPoolExecutor.CallerRunsPolicy ` :** 调用执行自己的线程运行任务,也就是直接在调用` execute ` 方法的线程中运行(` run ` )被拒绝的任务,如果执行程序已关闭,则会丢弃该任务。因此这种策略会降低对于新任务提交速度,影响程序的整体性能。如果您的应用程序可以承受此延迟并且你要求任何一个任务请求都要被执行的话,你可以选择这个策略。
621+ - ** ` ThreadPoolExecutor.AbortPolicy ` :** 抛出 ` RejectedExecutionException ` 来拒绝新任务的处理。
622+ - ** ` ThreadPoolExecutor.CallerRunsPolicy ` :**
623+ 调用执行自己的线程运行任务,也就是直接在调用` execute ` 方法的线程中运行(` run ` )被拒绝的任务,如果执行程序已关闭,则会丢弃该任务。因此这种策略会降低对于新任务提交速度,影响程序的整体性能。如果您的应用程序可以承受此延迟并且你要求任何一个任务请求都要被执行的话,你可以选择这个策略。
623624- ** ` ThreadPoolExecutor.DiscardPolicy ` :** 不处理新任务,直接丢弃掉。
624625- ** ` ThreadPoolExecutor.DiscardOldestPolicy ` :** 此策略将丢弃最早的未处理的任务请求。
625626
@@ -953,7 +954,7 @@ private volatile int state;//共享变量,使用volatile修饰保证线程可
953954protected final int getState() {
954955 return state;
955956}
956- // 设置同步状态的值
957+ // 设置同步状态的值
957958protected final void setState(int newState) {
958959 state = newState;
959960}
You can’t perform that action at this time.
0 commit comments