java 并发
文章平均质量分 94
m_iNoError
这个作者很懒,什么都没留下…
展开
-
java 并发-线程总结
一、使用线程 有三种使用线程的方法: 实现 Runnable 接口; 实现 Callable 接口; 继承 Thread 类。 实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过 Thread 来调用。可以理解为任务是通过线程驱动从而执行的。 实现 Runnable 接口 (1)需要实现接口中的 run() 方法。 (2)使用 Runnable 实例再创建一个 Thread 实例,然后转载 2021-03-24 11:24:01 · 266 阅读 · 0 评论 -
java-并发-J.U.C(多线程之间的协作)
java.util.concurrent(J.U.C)大大提高了并发性能,AQS 被认为是 J.U.C 的核心。 一、AQS AQS(AbstractQueuedSynchronizer类)是一个用来构建锁和同步器的框架,它在内部定义了一个int state变量,用来表示同步状态. 在LOCK包中的相关锁(常用的有ReentrantLock、 ReadWriteLock)都是基于AQS来构建。 1.CountDownLatch 用来控制一个或者多个线程等待多个线程执行完毕(如下:等到所有线程对 Co转载 2021-03-22 11:20:46 · 165 阅读 · 0 评论 -
java 并发-互斥同步(共享资源)
Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问(原子操作),第一个是 JVM 实现的 synchronized,而另一个是 JDK 实现的 ReentrantLock。 原子性 原⼦(atomic)本意是“不能被进⼀步分割的最⼩粒⼦”,⽽原⼦操作(atomic operation)意为“不可被中断的⼀个或⼀系列操作”。在多处理器上实现原⼦操作就变得有点复杂。让我们⼀起来聊⼀聊在Intel处理器和Java⾥是如何实现原⼦操作的。 (1)处理器如何实现原⼦操作 (1)使⽤总线锁保证原⼦性转载 2021-03-22 16:21:50 · 998 阅读 · 0 评论