是这样的
继承了runnable接口以后,在各自的线程中都有一个run()方法,而run()方法以外的成员变量都是共享数据。
明白了这个以后,就是理解锁的概念了。
你应该知道,要想对一个代码块进行同步,需要用同一个锁吧?像你这样如果在run()里面直接new Object()
,那么这个锁就是一个线程所拥有,跟其他的线程没关系,当然就起不到同步的作用啦。而调用run()方法以外的obj就不同啦,因为这个锁是所有线程共有的,当然了起到同步的作用啦~~~
so easy,来了黑马论坛以后,妈妈再也不用担心我的学习了 |
|