多线程实战
架构师在路上
这个作者很懒,什么都没留下…
展开
-
多线程实战运用【多线程解析文件获取信息,合并子线程输出文件】
package com.qtopay.common.localcache;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java....原创 2019-10-25 09:41:08 · 338 阅读 · 0 评论 -
多线程实战运用【线程池结合CountDownLatch(信号量)、FutureTask获取反数据】
主方法入参threadSize线程池数量。通过FutureTask 来获取线程执行返回的数据。public static Map<String, String> demo(int threadSize) { Map<String, String> map = new HashMap<>(); CountDownLa...原创 2019-10-25 17:51:18 · 1218 阅读 · 0 评论 -
多线程并发工具之Semaphore信号量
Semaphore 是 synchronized 的加强版,作用是控制线程的并发数量。就这一点而言,单纯的synchronized 关键字是实现不了的。原创 2020-05-19 11:28:23 · 460 阅读 · 0 评论 -
多线程并发工具之cyclicBarrier
cyclicBarrier是一种控制线程并发工具,跟CountDownLatch类似,不同的是countDownLatch多线程下是一次性的。用过之后就不能在使用。画个图来解释下,假设现在有3个线程编号1,2,3 三个线程同时开始,线程1,2到达第一个await这时就需要等到3到达await才可以接着往前走。这个时候1,2,3三个线程同时获取锁同时触发往下一个await走。这个就是cyclicBarrier跟countDownLatch不同的地方。countDownLatch到达第一个await等待最后原创 2020-05-15 17:07:52 · 281 阅读 · 0 评论