摘要: 参考文献: http://www.blogjava.net/xylz/archive/2010/07/08/325587.html 一、Lock与ReentrantLock 前面的章节主要谈谈原子操作,至于与原子操作一些相关的问题或者说陷阱就放到最后的总结篇来整体说明。从这一章开始花少量的篇幅谈谈锁 阅读全文
posted @ 2018-06-29 12:23 befmain 阅读(365) 评论(0) 推荐(0)
摘要: 一、从原子操作开始 从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包,而Queue,很多情况下使用到了Atomic操作,因此首先从这里开始)。 很多情况下我们只是需要一个简单的、高效的、线程安全的递增递减方案。注意,这里有三个条件: 这三个条件看起来比较 阅读全文
posted @ 2018-06-29 12:22 befmain 阅读(323) 评论(0) 推荐(0)
摘要: 对java并发库一直觉得很神秘,决定好好研究一下。 参考文献: https://blog.csdn.net/hp910315/article/details/50963095 http://www.blogjava.net/xylz 系列博客 一、总体架构 二、 tools 三、locks 四、co 阅读全文
posted @ 2018-06-29 00:47 befmain 阅读(137) 评论(0) 推荐(0)
摘要: 对Java多线程中的ThreadLocal类还不是很了解,所以在此总结一下。 主要参考了http://www.cnblogs.com/dolphin0520/p/3920407.html 中的文章。 一、对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做 阅读全文
posted @ 2018-06-28 23:30 befmain 阅读(201) 评论(0) 推荐(0)
摘要: 一、传统线程机制 1. 使用类Thread实现 2. 使用Runable对象来实现 3. 总结 通过查看源代码可知,thread调用run()方法时,会先判断有没有设置target,也就是一个runable对象,如果有runable对象,那么就会直接调用runable对象的run方法; 二、 传统定 阅读全文
posted @ 2018-06-28 17:00 befmain 阅读(215) 评论(0) 推荐(0)
摘要: 如果多线程并发的访问与一个数据结构,那么很容易破坏一个数据结构。 例如,一个线程可能要向一个散列表中插入一条数据的过程中,被剥夺了控制权。如果另外一个线程也开始遍历同一个链表,很可能造成混乱,抛出异常或者陷入死循环。这就是为什么HashMap不是线程安全的原因。 一、旧的线程安全的集合 通过同步包装 阅读全文
posted @ 2018-06-27 22:18 befmain 阅读(1947) 评论(0) 推荐(0)
摘要: 试过几款自定义的皮肤,感觉一直不是很好看。 这里要感谢原作者:https://www.cnblogs.com/hafiz/p/7573464.html 在原作者的基础之上,没做多少更改。 计划是把右下角的目录,挪到左边。需要的时候就打开。可惜不是很会前端,试了一下,没调试出来~~~ 还有就是加了一个 阅读全文
posted @ 2018-06-27 16:54 befmain 阅读(478) 评论(0) 推荐(2)
摘要: 一、什么是死锁 死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。例如,在某一个计算机系统中只有一台打印机和一台输入 设备,进程P1正占用输入设备,同时又提出使用打印机的请求,但此时打印机正被进程P2 所占用,而P2在未释放打印机之前,又提出请求使用正被 阅读全文
posted @ 2018-06-26 14:12 befmain 阅读(78906) 评论(2) 推荐(16)
摘要: 1 阅读全文
posted @ 2018-06-26 00:16 befmain 阅读(316) 评论(0) 推荐(0)
摘要: 一、线程概述 1. 并发与并行 并行:指在同一时刻,有多条指令在多个处理器上同时执行; 并发:指在同一时刻只能有一条指令执行,但是被快速轮转,表现为多线程。 2. 多线程编程的优点 进程之间不能共享内存,但是线程之间共享内存很容易; 对操作系统而言,线程的创建代价小,而进程的创建和销毁代价很高; 二 阅读全文
posted @ 2018-06-25 22:09 befmain 阅读(229) 评论(0) 推荐(0)