并发笔记---------解决共享资源

最近在看java编程思想的并发 这一章。感觉挺深奥的。 也可能是我太笨了。
所以记录下笔记。一是检验自己是否真正理解,二是以后复习用。

所谓共享资源竞争,就好像是你坐着在餐桌前拿着筷子 刚抬手准备去夹最后一块肉。
可就在你马上就要夹到得同时,肉没了。 是坐着你旁边的其他人 夹走了。
这就相当于并发里的共享资源竞争。我们要防止这种两个任务访问相同的资源的行为。

再说下 锁机制:
bruce大神 做出的 比喻很好。
很多人在浴室前准备洗澡。 第一个人先进去洗澡,锁上门。其他人进不去,只有等第一个人洗完了之后其他人才能进去。 理论由于线程的不确定性,谁离门进谁去第二个进去洗。根据yield()和setPriority()来这设置。
但是因为JVM 和系统机制不同。实际情况可能有不同

最后说下 synchronized:
之前不是太了解并发的东西,在看别人写的代码 总是以为synchronized是针对方法级别来说的。 但是现在发现自己一直理解错了。。 哎 摸石头过河害死人啊
例如

class Test{
synchronized void f();
synchronized void g();
}

当线程1 调用f()的时候 那么线程2 必须要等线程1 调用f()结束后获得其返回值,才能调用同样加了synchronized标记的g()方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值