摘要:
在现实开发中,我们或多或少的都经历过这样的情景:某一个变量被多个用户并发式的访问并修改,如何保证该变量在并发过程中对每一个用户的正确性呢?今天我们来聊聊线程同步的概念。 一般来说,程序并行化是为了获得更高的执行效率,但前提是,高效率不能以牺牲正确性为代价。如果程序并行化后, 连基本的执行结果的正确性 阅读全文
摘要:
实现线程的两种方式 上一节我们了解了关于线程的一些基本知识,下面我们正式进入多线程的实现环节。实现线程常用的有两种方式,一种是继承Thread类,一种是实现Runnable接口。当然还有第三种方式,那就是通过线程池来生成线程,后面我们还会学习,一步一个脚印打好基础。 Runnable接口: publ 阅读全文
摘要:
在任何的生产环境中我们都不可逃避并发这个问题,多线程作为并发问题的技术支持让我们不得不去了解。这一块知识就像一个大蛋糕一样等着我们去分享,抱着学习的心态,记录下自己对并发的认识。 1.线程的状态: 线程状态图: 1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):线程对 阅读全文

随笔档案
- 2021年11月(3)
- 2021年10月(3)
- 2021年7月(4)
- 2021年5月(1)
- 2021年4月(3)
- 2021年3月(2)
- 2021年1月(1)
- 2020年12月(1)
- 2020年10月(3)
- 2020年9月(2)
- 2020年8月(3)
- 2020年7月(3)
- 2020年6月(5)
- 2020年5月(2)
- 2020年4月(4)
- 2020年3月(2)
- 2020年1月(6)
- 2019年12月(6)
- 2019年11月(8)
- 2019年8月(3)
- 2019年6月(5)
- 2019年5月(9)
- 2019年4月(8)
- 2019年3月(4)
- 2018年5月(6)
- 2018年4月(10)
- 2017年12月(8)
- 2017年11月(8)
- 2017年6月(2)
- 2017年5月(8)
- 2017年4月(5)
- 2017年3月(11)
- 2017年2月(7)
- 2017年1月(12)
- 2016年12月(5)
- 更多
最新评论
- 1. Re:javaagent使用指南
有收获,简单易懂,基本是手把手了
- --hcycandy
- 2. Re:Spring 中的事件机制
牛
- --*Arche
- 3. Re:java并发编程(五)----(JUC)ReentrantLock
- 当我们把”LockSupport.unpark(t1);”这一句注掉的话我们会发现程序陷入死锁。 不管你注释 unpark(t1) 还是 unpark(t2),都会使程序陷入死锁,因为他们都在等待许可...
- --imnob
- 4. Re:java并发编程(五)----(JUC)ReentrantLock
- > 而且我们看到再main方法中unpark是在t1和t2启动之后才执行,但是为什么t1启动之后,t2也启动了呢? 这两个线程先后启动有什么不对吗?只不过启动并打印信息后才等待许可而阻塞。...
- --imnob
- 5. Re:java并发编程(三)----线程的同步
最后一个例子没有正确结果,是因为没让主线程等待子线程结束就打印结果而造成的。
- --imnob