java中什么叫线程安全和线程不安全?
多线程中是共享内存的,是不是如果线程不安全,多个线程同步操作一个内存对象会发生意外?望高人解答,先谢过了!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
多线程中是共享内存的,是不是如果线程不安全,多个线程同步操作一个内存对象会发生意外?望高人解答,先谢过了!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
线程都有自己的工作内存,在取一个值时,会向共享内存copy到自己的工作内存;于是乎,当你多个线程同时存在,就有问题了,你两个线程同时是操作共享内存的一个数据,如果不加锁,两个线程对这个数据的操作和判断,你不可控;因为CPU执行两个线程的代码可能每次顺序都不一样的
线程不安全就是说,按照某一种线程调度顺序调度,程序会挂掉。。或者,程序只有再某一些线程调度顺序调度才正确,就是线程不安全。
反之,无论按照什么顺序调度,代码结果都是正确的,就是线程安全。
这件事情和语言没关系。
简单点说就是:
线程安全==无论多少线程执行,结果都是预期,线程之间互不干扰,也无法干扰。
线程不安全==在单个线程下不会有问题,但在多线程环境中,结果会受到随机干扰,即线程的执行顺序会影响到其他线程的结果。
根据条件删除元素,左边目录为5.2。
可以看一下,尝试理解一下,欢迎探讨。