随笔分类 -  并发

在其他对象上同步
摘要:synchronized 块必须给定一个在其上进行同步的对象,并且最合理的方式是,使用其方法正在被调用的当前对象:synchronized(this).在此种方式中,如果获得了synchronized块上同步锁,那么该对象其他的synchronized方法和临界区就不能被调用。因此,如果再this... 阅读全文

posted @ 2015-11-26 23:40 struggle_beiJing 阅读(273) 评论(0) 推荐(0) 编辑

[转]关于java中的 sychronized 同步方法 与 同步块的理解
摘要:首先,需要说明一点,也是最重要的一点,无论是同步方法 还是 同步块 都是只针对同一个对象的多线程而言的,只有同一个对象产生的多线程,才会考虑到 同步方法 或者是 同步块,如果定义多个实例的同步,可以考虑使用mutex,创建类似于c++整个服务全局锁,或者创建一个全局单例类,在其内定义全局锁。比如以... 阅读全文

posted @ 2015-11-25 09:42 struggle_beiJing 阅读(4171) 评论(0) 推荐(0) 编辑

volatile
摘要:volatile关键字还确保了应用中的可视性。如果讲一个域声明为volatile的,那么只要对这个域残生了写操作,那么所有的读操作就都可以看到这个修改。即便使用了本地缓存,情况也确实如此,volatile域会立即被写入到主存中,而读取操作就发生在主存中。 在非volatile域上的原子操作不必刷新到... 阅读全文

posted @ 2015-11-22 10:13 struggle_beiJing 阅读(515) 评论(0) 推荐(0) 编辑

共享受限资源,Brian的同步规则
摘要:说明:如果一个变量是boolean,则此变量是原子性的,即赋值和返回值简单的操作在发生时没有中断的可能。 递增不是原子性炒作。解决共享资源竞争:1. 通过加锁,锁语句会产生相互排斥的效果,此种机制也成为互斥量。 通过关键之synchronized 关键字锁也称为监视器。 2. 通过使用显式的Lock... 阅读全文

posted @ 2015-11-19 23:49 struggle_beiJing 阅读(1024) 评论(1) 推荐(0) 编辑

后台线程,优先级,sleep,yield
摘要:1.后台线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可获取的部分。当所有非后台线程结束时,程序也就终止了,同时会杀死进程中所有后台线程。main()是一个非后台线程设置后台线程:必须在启动线程之前调用setDaemon(true) 2.通过setPriori... 阅读全文

posted @ 2015-11-19 23:23 struggle_beiJing 阅读(278) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示