掘友等级
获得徽章 0
问题是关于读写锁的优化,《java并发编程实战》书中原话是:
“java5中,读取锁的行为更类似于一个Semaphore而不是锁,它只维护活跃的读线程的数量,而不考虑它们的标识。在java6中修改了这个行为:记录哪些线程已经获得了读取锁。”
“做出这种修改的一个原因是:在java5的锁实现中,无法区别一个线程是首次请求读取锁,还是可重入锁请求,从而可能使公平的读-写锁发生死锁。”
上面说的死锁是怎么发生的?
极度舒适感
很烦那种分享一些毫无意义的项目的人,明知道不切实际,还去分享出来,什么965外限制commit,就不能去看一下github的提交时间趋势么,coding的乐趣在于想什么时候提交就什么时候提交,而不是强行的加一层pre-commit hook,还有什么各种具有收敛性限制的证书啥的,我就不吐槽了。
今年在某脉上看到一些面试题,回答让我笑了半天。
1、请解释队列和栈这两种数据结构的特点?
答:吃多了拉就是队列,吃多了吐就是栈。
2、请解释一下单线程和多线程?
答:一个人吃就是单线程,一桌人吃多线程,一桌人用一个勺子吃,线程加锁了
来自 Easy 的安利,sherlock 是一个输入一个名字后会全网帮你抓取信息的工具,很显而易见的使用场景,GitHub 地址:
github.com