并发编程
Code成立
Java前后端全栈,解决新手的难以入行入门的难题,手把手教小白。
展开
-
控制并发线程数的Semaphore
Semaphore(信号量):是用来控制同时访问特定资源的线程数量,它通过协调各个线程以保证合理的使用公共资源。 通俗的讲,在学校1000人,食堂位置100个,食堂的座位是公共资源,但是有限,不能容纳所有学生同一时间吃饭,同一时间只能有100个学生坐在那里吃饭,信号量起到限流的作用。 废话不多说,直接代码: package java中的并发工具类; import java.util.concur...原创 2020-04-30 20:47:49 · 175 阅读 · 0 评论 -
多线程中的CountDownLatch闭锁(倒计时锁)学习和用例
多线程中的CountDownLatch闭锁(倒计时锁)学习和用例 1.CountDownLatch的构造方法接收一个int的参数作为计数器,如果你想等待N个点,这里传入N. 2.当我们调用countDown()方法时,N就会减一,await()方法会阻塞线程,直到N变为0,所以N可以是N个线程,也可以是N个执行步骤,用在多个线程时,只需要把CountDownLatch的引用传递给线程即可。 总结一...原创 2020-04-30 16:34:06 · 211 阅读 · 0 评论 -
Thread中的join用法和案例
Thread中的join用法和案例 有两个线程A,声明为a,线程B声明为b. 如果线程A执行了b.join()方法,其含义是当前线程A等待b线程终止之后才能从b.join()返回. 当主线程在循环中i10的时候,调用了p1线程的join()方法,则当p1循环打印完100次,返回到主线程 的循环中,当i20调用p2的join方法时,此时p2已经执行了循环打印154次了,则继续执行155知道打印完毕后...原创 2020-04-30 12:21:57 · 289 阅读 · 0 评论