并发
灵峰
这个作者很懒,什么都没留下…
展开
-
Lock与synchronized 的区别
多次思考过这个问题,都没有形成理论,今天有时间了,我把他总结出来,希望对大家有所帮助 1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将转载 2013-08-10 10:57:12 · 453 阅读 · 0 评论 -
Java并发编程实战--死锁
今天看了第十章,描述了经典的“哲学家进餐”问题,Google 哲学家进餐 就有 ,不多解释。先解释一下锁:可以这么理解,每一个java对象都具有一个锁标记,而这个锁标记只能同时分配给一个线程,然后讲了死锁的产生原因:当一个线程永远地持有一个锁,而且其他线程都想要取得这个锁时,那么它们将永远被阻塞。下面用三种介绍三种“死锁”状况。 一.死锁 先看代码 [java]转载 2013-08-10 11:08:20 · 647 阅读 · 0 评论 -
java高并发解决方案
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是转载 2013-08-10 11:00:18 · 552 阅读 · 0 评论 -
sleep和wait的区别
1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。 sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。 2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 sleep不出让系统原创 2013-08-10 11:01:36 · 466 阅读 · 0 评论