![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发
Canon in D
这个作者很懒,什么都没留下…
展开
-
synchronized对象锁,锁的是什么?
昨天看博客看到这样一段代码,说是看似线程安全,但实际上并不是,参考大佬一个看似线程安全的示例:class ListHelper <E> { public List<E> list = Collections.synchronizedList(new ArrayList<E>()); public synchronized bo...原创 2018-08-27 14:03:21 · 8446 阅读 · 3 评论 -
被自己蠢哭了的 Runnable.run()方法
之前一直都是用new Thread().start()方法跑线程,昨天撸代码的时候,想起听哪位大佬和我提过,实现Runnable接口比继承Thread类要好。那就实现接口试下吧,结果出问题了,回想起来,真是被自己蠢哭了。。。我的代码:public class TestMain1 { public static void main(String[] args) { ...原创 2018-08-23 19:18:53 · 27645 阅读 · 11 评论 -
interrupt相关的方法
停止当前线程有Thread.stop()方法,但是这个方法已经被标记为@Deprecated了,那么替代它的方法是什么呢?interrupt。它有三个长得很像的方法:interrupt(),isInterrupted(),interrupted()。第一:MyThreadA.interrupt():给MyThreadA线程设置一个中断标志。(注意,这里不同于stop()方法,并不是直接中断...原创 2018-09-03 18:23:57 · 3507 阅读 · 0 评论 -
一次删数据而认识的CountDownLatch和CyclicBarrier
公司之前有个任务,要求删除一张数据库表里面2018/2/1之前的数据。这张表里面存放的是车辆定位数据,一辆车每天能产生4000+条定位数据,所以整个表蛮大的,有65亿+条数据。而且还有要求:根据每个地区要统计出来这个地区删除了多少条数据。其中2月1号之前的有10亿多条。当然这是删除完之后才统计出来的。一开始是这样做的:查询某个地区,时间在2018/2/1之前的数据,用Mongo游标hasNex...原创 2018-09-17 13:48:43 · 262 阅读 · 0 评论