6. 同步化器(Synchronizers)

本文将详细介绍Java提供的多种并发工具类,包括CountDownLatch、CyclicBarrier、Exchanger、Semaphore及Phaser等,帮助读者更好地理解如何利用这些工具进行线程同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Java提供了同步的关键字给同步线程,是一个极其关键的部分。因为在并发的工具类里,包含着synchronized、高级的synchronizers(这个类有助于普通形式类的同步),可以更容易地、正确地写出同步的代码。在这一章节里,我将同你介绍countdown latch、cyclic barrier、exchanger、semaphore和phaser的同步对象。
"Catalina-utility-1" Id=25 RUNNABLE at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.lang.Thread.run(Thread.java:750) Number of locked synchronizers = 1 - java.util.concurrent.locks.ReentrantLock$NonfairSync@6559ed69 "Druid-ConnectionPool-Destroy-123971074" Id=24 TIMED_WAITING at java.lang.Thread.sleep(Native Method) at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:2913) "Druid-ConnectionPool-Create-123971074" Id=23 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@22ad1ed6 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@22ad1ed6 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2813) "Druid-ConnectionPool-Destroy-1922835739" Id=22 TIMED_WAITING at java.lang.Thread.sleep(Native Method) at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:2913) "Druid-ConnectionPool-Create-1922835739" Id=21 RUNNABLE at com.mysql.cj.exceptions.MysqlErrorNumbers.<clinit>(MysqlErrorNumbers.java:1344) at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:812) at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:770) at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:738) at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:155) at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:472) at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:212) at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1433)
最新发布
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值