黑马程序员技术交流社区
标题:
关于多线程同步的问题
[打印本页]
作者:
唐巍
时间:
2012-3-15 01:33
标题:
关于多线程同步的问题
多线程中,使用同步的前提是什么?同步代码块,同步函数,静态同步函数用的锁分别是什么?
作者:
张润政
时间:
2012-3-15 08:52
问题的原因是:当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完。另一个线程参与进来,导致共享数据的错误。
解决办法,对多条操作共享数据的语句,只能让一个线程都执行完,再执行过程中其他线程不可以参与执行。
同步的前提:
1,必须要有两个或者两个以上的线程。
2,必须是多个线程使用同一个锁。
加入同步,既有好处,也是有弊端的:
好处:解决了多线程的安全问题。
弊端:多个线程需啊哟判断锁,较为消耗资源。
同步代码块用的同步锁可以是任意一个对象,同步函数用的是this锁,而静态同步函数用的同步锁是Class对象
作者:
段浩亮
时间:
2012-3-15 09:04
同步代码块的锁可以是任意对象synchronized(Object obj)
同步函数的锁是其所在类的对象(this)
静态同步函数的锁是该类的字节码文件对象(类名.class)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2