fix comment

This commit is contained in:
Looly 2022-09-13 23:46:10 +08:00
parent adb1dc5f62
commit 367298483b

View File

@ -274,8 +274,7 @@ public class ThreadUtil {
} }
/** /**
* 新建一个CountDownLatch一个同步辅助类在完成一组正在其他线程中执行的操作之前它允许一个或多个线程一直等待 * 新建一个CountDownLatch一个同步辅助类在完成一组正在其他线程中执行的操作之前它允许一个或多个线程一直等待<br>
*
* 示例等6个同学都离开教室班长才能锁门 * 示例等6个同学都离开教室班长才能锁门
* <pre>{@code * <pre>{@code
* CountDownLatch latch = new CountDownLatch(6); // 总共任务是6 * CountDownLatch latch = new CountDownLatch(6); // 总共任务是6
@ -297,7 +296,7 @@ public class ThreadUtil {
* System.out.println("【主线程】所有同学都离开了教室,开始锁教室大门了。"); * System.out.println("【主线程】所有同学都离开了教室,开始锁教室大门了。");
* } * }
* </pre> * </pre>
* * <p>
* 该示例也可以用{@link Phaser} 移相器 进行实现 * 该示例也可以用{@link Phaser} 移相器 进行实现
* *
* @param taskCount 任务数量 * @param taskCount 任务数量
@ -308,8 +307,7 @@ public class ThreadUtil {
} }
/** /**
* 新建一个CycleBarrier 循环栅栏一个同步辅助类 * 新建一个CycleBarrier 循环栅栏一个同步辅助类<br>
*
* 示例7个同学集齐7个龙珠7个同学一起召唤神龙前后集齐了2次 * 示例7个同学集齐7个龙珠7个同学一起召唤神龙前后集齐了2次
* <pre>{@code * <pre>{@code
* AtomicInteger times = new AtomicInteger(); * AtomicInteger times = new AtomicInteger();
@ -338,8 +336,9 @@ public class ThreadUtil {
* }, "线程 - " + x).start(); * }, "线程 - " + x).start();
* } * }
* }</pre> * }</pre>
* * <p>
* 该示例也可以用{@link Phaser} 移相器 进行实现 * 该示例也可以用{@link Phaser} 移相器 进行实现
*
* @param taskCount 任务数量 * @param taskCount 任务数量
* @return 循环栅栏 * @return 循环栅栏
*/ */
@ -349,12 +348,13 @@ public class ThreadUtil {
/** /**
* 新建一个Phaser一个同步辅助类jdk1.7提供可以完全替代CountDownLatch * 新建一个Phaser一个同步辅助类jdk1.7提供可以完全替代CountDownLatch
* @since 6.0.1 *
* @param taskCount 任务数量
* @return Phaser
* @author dazer * @author dazer
* * <p>
* Pharser: 移相器相位器可重用同步屏障 * Pharser: 移相器相位器可重用同步屏障
* 功能可以替换{@link CyclicBarrier}固定线程循环栅栏{@link CountDownLatch}固定计数倒数计数加上分层功能 * 功能可以替换{@link CyclicBarrier}固定线程循环栅栏{@link CountDownLatch}固定计数倒数计数加上分层功能<br>
*
* 示例1等6个同学都离开教室班长才能锁门 * 示例1等6个同学都离开教室班长才能锁门
* <pre>{@code * <pre>{@code
* Phaser phaser = new Phaser(6); // 总共任务是6 * Phaser phaser = new Phaser(6); // 总共任务是6
@ -376,13 +376,11 @@ public class ThreadUtil {
* System.out.println("【主线程】所有同学都离开了教室,开始锁教室大门了。"); * System.out.println("【主线程】所有同学都离开了教室,开始锁教室大门了。");
* } * }
* </pre> * </pre>
* * <p>
* 示例27个同学集齐7个龙珠7个同学一起召唤神龙 * 示例27个同学集齐7个龙珠7个同学一起召唤神龙
* 只需要phaser.arrive(); --&gt; phaser.arriveAndAwaitAdvance() //等待其他的线程就位 * 只需要phaser.arrive(); --&gt; phaser.arriveAndAwaitAdvance() //等待其他的线程就位
* 该示例也可以用{@link CyclicBarrier} 进行实现 * 该示例也可以用{@link CyclicBarrier} 进行实现
* * @since 6.0.1
* @param taskCount 任务数量
* @return Phaser
*/ */
public static Phaser newPhaser(final int taskCount) { public static Phaser newPhaser(final int taskCount) {
return new Phaser(taskCount); return new Phaser(taskCount);
@ -741,6 +739,7 @@ public class ThreadUtil {
* @return {@link ConcurrencyTester} * @return {@link ConcurrencyTester}
* @since 4.5.8 * @since 4.5.8
*/ */
@SuppressWarnings("resource")
public static ConcurrencyTester concurrencyTest(final int threadSize, final Runnable runnable) { public static ConcurrencyTester concurrencyTest(final int threadSize, final Runnable runnable) {
return (new ConcurrencyTester(threadSize)).test(runnable); return (new ConcurrencyTester(threadSize)).test(runnable);
} }
@ -761,8 +760,8 @@ public class ThreadUtil {
* 注意此方法的延迟和周期的单位均为毫秒 * 注意此方法的延迟和周期的单位均为毫秒
* *
* <ul> * <ul>
* <li>fixedRate 模式下一次任务等待上一次任务执行完毕后再启动</li> * <li>fixedRate 模式以固定的频率执行每period的时刻检查如果上个任务完成启动下个任务否则等待上个任务结束后立即启动</li>
* <li>fixedDelay模式下一次任务不等待上一次任务到周期自动执行</li> * <li>fixedDelay模式以固定的延时执行上次任务结束后等待period再执行下个任务</li>
* </ul> * </ul>
* *
* @param executor 定时任务线程池{@code null}新建一个默认线程池 * @param executor 定时任务线程池{@code null}新建一个默认线程池
@ -774,10 +773,10 @@ public class ThreadUtil {
* @since 5.5.8 * @since 5.5.8
*/ */
public static ScheduledExecutorService schedule(final ScheduledExecutorService executor, public static ScheduledExecutorService schedule(final ScheduledExecutorService executor,
final Runnable command, final Runnable command,
final long initialDelay, final long initialDelay,
final long period, final long period,
final boolean fixedRateOrFixedDelay) { final boolean fixedRateOrFixedDelay) {
return schedule(executor, command, initialDelay, period, TimeUnit.MILLISECONDS, fixedRateOrFixedDelay); return schedule(executor, command, initialDelay, period, TimeUnit.MILLISECONDS, fixedRateOrFixedDelay);
} }
@ -785,8 +784,8 @@ public class ThreadUtil {
* 开始执行一个定时任务执行方式分fixedRate模式和fixedDelay模式 * 开始执行一个定时任务执行方式分fixedRate模式和fixedDelay模式
* *
* <ul> * <ul>
* <li>fixedRate 模式下一次任务等待上一次任务执行完毕后再启动</li> * <li>fixedRate 模式以固定的频率执行每period的时刻检查如果上个任务完成启动下个任务否则等待上个任务结束后立即启动</li>
* <li>fixedDelay模式下一次任务不等待上一次任务到周期自动执行</li> * <li>fixedDelay模式以固定的延时执行上次任务结束后等待period再执行下个任务</li>
* </ul> * </ul>
* *
* @param executor 定时任务线程池{@code null}新建一个默认线程池 * @param executor 定时任务线程池{@code null}新建一个默认线程池
@ -799,11 +798,11 @@ public class ThreadUtil {
* @since 5.6.5 * @since 5.6.5
*/ */
public static ScheduledExecutorService schedule(ScheduledExecutorService executor, public static ScheduledExecutorService schedule(ScheduledExecutorService executor,
final Runnable command, final Runnable command,
final long initialDelay, final long initialDelay,
final long period, final long period,
final TimeUnit timeUnit, final TimeUnit timeUnit,
final boolean fixedRateOrFixedDelay) { final boolean fixedRateOrFixedDelay) {
if (null == executor) { if (null == executor) {
executor = createScheduledExecutor(2); executor = createScheduledExecutor(2);
} }