首页 > 学院 > 开发设计 > 正文

形象说明线程里synchronized的参数作用

2019-11-10 17:21:30
字体:
来源:转载
供稿:网友

摘自http://bbs.csdn.net/topics/390216019  #1#3楼xiars123

很多人用synchronized(参数)时,随便找个string,hashmap就作为参数了。关键这个参数是怎么用?

同一时间只能有一个线程可以访问synchronized块内的内容,本质是一把锁,(参数)规定了锁的类型,可以是对象或者类的锁,说白了这个参数决定的是这把锁的作用范围。

例如:

class 人人 你 = new 人();人 我 = new 人();如果是synchronized(你){吃饭();}那么说明你只能一顿一顿吃,不能同时(多线程)吃好几顿饭;如果是synchronized(人.class){吃饭();}那么只要我在吃饭,你就不能吃饭,得等我吃完!


上一篇:台阶问题

下一篇:覆写(重点)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表