黑马程序员技术交流社区
标题:
关于线程安全的问题... ...
[打印本页]
作者:
laiminghui
时间:
2013-12-10 11:36
标题:
关于线程安全的问题... ...
本帖最后由 laiminghui 于 2013-12-10 15:21 编辑
线程什么情况下安全 ???
线程什么情况下是不安全的???
哪位大侠出来救救我???
关于线程安全的知识模糊了....................................:)
作者:
史超
时间:
2013-12-10 12:35
线程安全:就是当一个程序对一个线程或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问。这样做才算安全。其中涉及到的锁;sychronized,可以修饰某一段代码也可以修饰一个方法,总之要保证其唯一性。
作者:
衣带赞
时间:
2013-12-10 13:19
当多个线程访问到类中共有的的成员变量时,就可能存在安全问题。
只要看多个线程中的数据是否有用到了同一个变量,并且对其数据进行了操作,比如一增一取之类,就必须加上线程同步的操作。
也有特殊情况,当多个线程用到的共有成员变量且都只有一个执行语句,可以不加同步锁。不过为了安全起见,只要用到共有数据都加上同步比较好。
作者:
程洋
时间:
2013-12-13 15:41
本帖最后由 程洋 于 2013-12-13 16:29 编辑
线程的安全问题:主要是多条语句在操作同一个线程的共享数据时,一个线程只执行了部分语句,就失去了cpu的执行权而处于阻塞状态,这时其他的线程也参与进来执行这些语句,可能会导致共享数据的错误,这就造成了线程的不安全性,
解决的办法是:让同一个线程把多条语句一起执行完,再让其他线程执行;java中解决这类问题的方法是:synchronized.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2