2 mengruohen mengruohen 于 2016.03.21 18:52 提问

多线程同时修改变量,不做同步 2C

有一个变量a=3,第一个线程内a-=1;第二个线程内a+=2,当两个线程都执行完后,a=?(不做线程同步的情况下)

3个回答

Lc_BoYi
Lc_BoYi   2016.03.21 18:58

应该a=4吧 不管那一个先做后做结果都一样啊?

(我是菜鸟)

a1004032158
a1004032158   2016.03.21 19:09

很多可能的, 可能会被优化在寄存器保存, 不做同步没必要分析

mengruohen
mengruohen 回复仍在发呆的~: 如果寄存器不优化呢
2 年多之前 回复
u010285338
u010285338   2016.03.21 20:50

不做同步 结果未定义吧

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java多线程实战( 多个线程 修改同一个变量)
java多线程实战 介绍:
c++多线程例(事件同步对象,变量共享)
//事件同步对象 #include #include DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread data DWORD WINAPI Fun2Proc(LPVOID lpParameter);//thread data int tickets=100;//全局变量 HANDLE g_hEvent;//句柄 void main() {
Android 多线程间变量同步的问题
概述在 Android 开发中,常常会遇到这样的需求:主线程用到的成员变量需要在子线程初始化,初始化的过程是异步的,由于 CPU 分配时间片资源是随机的,主线程使用时,该成员变量可能依然是 null,导致空指针。这就是多线程间变量同步的问题。代码如下:public class AsyncMemberInitiation { static User user = null;
【多线程系列】Volatile总结之同步问题
Volatile总结之同步问题 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。     synchronized  同步块大家都比较熟悉,通过 synch
在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题
方法一,@synchronized(id anObject),(最简单的方法) 会自动对参数对象加锁,保证临界区内的代码线程安全 @synchronized(self)    {           // 这段代码对其他 @synchronized(self) 都是互斥的                  // self 指向同一个对象    }    方
多线程安全修改全局变量
一步一步分析问题先看下面 1.当我开1000个线程出售1000张票时,数据正常,但是当我开1100个时就会出现负数?为什么啊?明明已经加了判断 count>0 public class C{ int count=1000;//火车票 static long currenttime; static long endtime; static File file=new File
多线程同时操作全局变量的出错演示
多线程同时操作全局变量的出错演示:演示了9个线程同时操作全局变量的出错结果,并采用自动验证结果,直到程序出错,有很好的演示和学习价值。
线程同步修改数据库(论坛转贴)
 在我编写的程序中用以下调用线程:   t:=mytthread.create(adoconnection1,listbox1);       t.Resume;    e:=mytthread.create(adoconnection2,listbox1);       e.Resume;   u:=mytthread.create(adoconnection3,listbox1);   
多线程操作同一个变量
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized  同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized
银行取款[多线程]{使用ThreadLocal管理共享变量,但此场景并不保证线程同步}
经典例子:老婆(朱丽叶)老公(罗密欧),使用银行卡和存折,或者网银等,同时对同一账户操作的安全问题。 此处用多线程实现,同时取款的模拟实现,使用ThreadLocal管理共享变量,但此场景并不保证线程同步,查看取款安全隐患问题,代码如下: -----------------------------------------------------------------------------