摘要: 题目:实现一个容器,提供俩个方法,add和size,写俩个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5时,线程2给出提示并结束 实现案例: /** * @program: mystudy_basis * @description: 实现一个容器,提供俩个方法,add和si 阅读全文
posted @ 2019-12-30 14:17 小小吸血鬼 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 模拟案例: /** * @description: 模拟以字符串为锁出现的死锁 **/ public class MyStringThread { String str1 = "hello"; String str2 = "hello"; public void test1(){ synchroni 阅读全文
posted @ 2019-12-30 11:18 小小吸血鬼 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 答案是不能保证,具体可以参考下边案例: public class MyAtomic { AtomicInteger count = new AtomicInteger(0); public void test(){ for(int i=0;i<10000;i++){ /*此处模拟多个类连续调用:可能 阅读全文
posted @ 2019-12-30 10:47 小小吸血鬼 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 首先得稍微了解一下JMM(java内存模型)的相关基础知识,java中的线程在计算机使用的是内存共享的机制,所以使用volatile关键字可以理解为: (1)答案一:当被volatile关键字修饰的资源有变化的时候,计算机会把CPU中的缓存资源重新刷新一遍,达到变量可见性一致的效果。 (2)答案二: 阅读全文
posted @ 2019-12-30 10:08 小小吸血鬼 阅读(542) 评论(0) 推荐(0) 编辑