Java小强个人技术博客站点    手机版
当前位置: 首页 >> 标签 多线程

线程安全的List之CopyOnWriteArrayList

9450 Java | 2023-6-29 9:52
ArrayList是线程不安全的,这点毋庸置疑。因为ArrayList的所有方法既没有加锁,也没有进行额外的线程安全处理。而Vector作为线程安全版的ArrayList,存在感总是比较低。因为无论是add、remove还是get方法都加上了synchronized锁,所以效率低下。无意中看到掘金中有人写了这样一遍文章(我花了两天时间没解决的问题,chatg......查看详细

并发编程之AtomicInteger,AtomicLong,LongAdder

15850 理论 | 2022-9-27 17:51
AtomicInteger类是系统底层保护的int类型,通过提供执行方法的控制进行值的原子操作。AtomicInteger它不能当作Integer来使用。AtomicInteger与使用同步执行相同操作相比,使用它同样更快,更易读。在 JDK1.5 中新增了并发情况下使用的 Integer/Long 所对应的原子类AtomicInteger 和 Atomic......查看详细

多线程同步计数器CountDownLatch,CyclicBarrier,Semaphore

16630 理论 | 2022-9-27 17:19
CountDownLatchCountDownLatch是一个同步工具类,它允许一个或多个线程等待其他线程一系列操作的完成。A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threa......查看详细

用Java多线程,将任务分步骤处理

139051 理论 | 2015-3-27 9:57
场景简单,其实就是在做WEB请求的时候,处理的结果需要同时通知到一个第三方服务器,通知后再把结果返回给客户端。现在这个通知只是一个简单通知,如果直接加在客户端请求里面,客户端会在请求第三方服务器时堵塞。另外为了客户端不能超时,所以通知失败后也不敢多次请求。 这里可以使用定制任务来解决这个问题,一个客户端请求后产生一个定制的任务,然后服务后台进行多线......查看详细

UDP 上传文件 多线程 修正

94730 NET | 2014-11-25 17:42
前两天发了一篇“UDP 上传文件”(http://www.javacui.com/netcode/207.html  )的文章,但是当时只是把功能实现,后续做成多线程的,也修正了跳出时机的问题。用到多线程,也不得不了解下线程池的内容,你可以参考“Java四种线程池的使用”(http://www.javacui.com/Theory/151......查看详细

用Java信号量 解决死锁

72490 理论 | 2014-8-27 16:02
死锁在多线程的情况下,在竞争竞态条件与临界区(http://www.javacui.com/Theory/147.html)出现时,会出现数据不同步情况, 而为了避免这种情况,之前也说了:界区实现方法有两种,一种是用synchronized,一种是用Lock显式锁实现。我们不使用显示的去锁,我们用信号量(http://www.javacui.com/Theo......查看详细

MySQL 使用java备份某张表的操作

108470 DB | 2014-7-17 15:15
核心是mysqldump和Runtime操作其实并不是很困难,创建一个进行备份操作的类,接收到备份调用后,标记该表正在备份,然后创建一个子线程进行备份操作。所需的配置信息是从配置文件读取的,也要注意在Windows和linux下路径问题。阅读全文>>...查看详细