问题描述
我写了个异步操作的程序,遇到点问题,也是概念上不太清楚,所以问问大家。异步操作会不会影像全局变量?就是说:有个全局变量stringA有个方法publicvoidsetA()该方法就是操作aa.因为方法很长,很有可能几次过来的异步操作同时在执行setA.问题1:当其中一次异步操作改变A的值会不会影像到其他异步操作?问题2:当A为setA方法内部的变量时,其中一次异步操作改变A的值会不会影像到其他异步操作?最好给出理论性的解释
解决方案
解决方案二:
会应该进行同步!!lock(A){setA();}
解决方案三:
可以去看看操作系统中关于临界资源和进程同步中的东西
解决方案四:
能在详细点解释吗?
解决方案五:
这个类的setA()方法如果是线程安全的,就不会影响到其他线程!一般情况下,某个类只保证它的静态方法是线程安全的!这要看具体情况!
时间: 2024-10-21 11:58:44