Java——使用多线程模拟真实高并发业务并保证安全性(一)
作者专注于Java、架构、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【javaUp】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。技术交流、项目合作可私聊。
前言
兄弟篇:Java——使用多线程模拟真实高并发业务并保证安全性(二)
一、需求
使用100个线程往list中添加10000条数据,要求保证安全性,并正确记录数量。
二、实现
在看下面的代码之前,读者朋友可以自己先试一试怎么实现上面的需求,然后跟本文的实现方式对比一下。
2.1 使用技术
可重入锁ReentrantReadWriteLock,这里没有使用到CopyOnWriteArrayList,因为ReentrantReadWriteLock已经起到了CopyOnWriteArrayList对容器add的安全性的同等作用,另外还有对num++的保护。
2.2 实现代码