A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高焕杰 中级黑马   /  2012-12-25 20:39  /  1686 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

见题目!!!

3 个回复

倒序浏览
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。  
或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。
若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则就可能影响线程安全。
看懂不如自己动手试试,多写写代码 实验几个多线程的代码 就懂了。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
多线程运行同一个代码导致运行结果不是我们要求的,就视为线程不安全。相反的,就是线程安全
回复 使用道具 举报
李敬卫 来自手机 中级黑马 2012-12-25 21:54:19
板凳
首先你得知道线程为什么会不安全,怎样才能让他安全。当多个线程开启并执行run方法的时候,他们会同时争夺CPU的执行权,可是问题也就来了,当一个线程所运行的代码还没结束时,执行权被另一个线程抢走了。由此就产生了隐患,程序产生的结果有可能就不是我们想要的,这就是线程安全问题。为了让线程安全,解决办法:同步代码块或同步函数。以上就是我对线程安全的全部理解。家里没网,只能用手机上网。回答一个问题不容易啊!希望版主能加分
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马