900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 多线程对于共享变量访问带来的安全性问题

多线程对于共享变量访问带来的安全性问题

时间:2022-05-22 20:28:56

相关推荐

多线程对于共享变量访问带来的安全性问题

一个变量i.假如一个线程去访问这个变量进行修改,这个时候对于数据的修改和访问没有任何问题。但是如果多个线程对于这同一个变量进行修改,就会存在一个数据安全性问题

对于线程安全性,本质上是管理对于数据状态的访问,而且这个这个状态通常是共享的、可变的。共享,是指这个数据变量可以被多个线程访问;可变,指这个变量的值在它的生命周期内是可以改变的。

一个对象是否是线程安全的,取决于它是否会被多个线程访问,以及程序中是如何去使用这个对象的。所以,如果多个线程访问同一个共享对象,在不需额外的同步以及调用端代码不用做其他协调的情况下,这个共享对象的状态依然是正确的(正确性意味着这个对象的结果与我们预期

规定的结果保持一致),那说明这个对象是线程安全的。

public class Demo{ private static int count=0; public static void inc(){ try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } count++; } public static void main(String[] args) throws InterruptedException {for(int i=0;i<1000;i++){ new Thread(()->Demo.inc()).start(); } Thread.sleep(3000); System.out.println("运行结果"+count); } }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。