您的位置:首页 > 职场人生

【那些年遇到过的面试题】线程安全

2016-07-19 15:18 288 查看

线程安全:是指如果一段代码所在的进程中又多个线程在同时运行,这些线程可能会同时运行这段代码,如果每次运行的结果和单线程运行的结果是一样的,而且其他的变量的值也和预期是一样的,就是线程安全的。

可能引起线程问题的是:全局变量和静态变量。

如何做到线程安全:

1)显式开启新的线程和关闭线程;

2)对共享数据的修改要加线程锁,一定要及时释放,防止死锁;

3)线程见需要传递数据时,阻塞当前线程时,设置下一线程合适等待时间。

线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。

Vector:是线程安全的 。 Vector的所有操作方法都被同步了,多个线程就不可能同时访问vector中的数据,只能一个一个地访问,所以不会出现数据混乱的情况,所以是线程安全的。

ArrayList、LinkedList、HashMap等都是线程非安全的类

http://www.tuicool.com/articles/VRVFZb 40个多线程问题总结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: