问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux多线程为什么不能同时操作同一个全局变量

发布网友 发布时间:2022-04-25 01:56

我来回答

2个回答

热心网友 时间:2023-10-20 07:21

因为多线程的执行和CPU调度、进程调度有关,简单的理解就是进程调度是把CPU资源分为时间片,各个进程轮番执行,多线程的情况和这个类似。如果有一个全局变量,有的线程是进行写操作,有的线程是进行读操作,假设程序员希望的是先对全局变量进行写,在另一个线程进行读,但是那个线程先执行不是我们能控制的,这个调度工作属于操作系统内核,内核有它的考量,程序无法干预,而且每个线程的运行时间也不一样,这个也影响线程执行顺序,你就把这个执行顺序看成是随机的吧(免得你抱有幻想)。所以实际的执行顺序有可能是先由一个线程进行读,然后才有另一个线程进行写操作,这样就读到了一个旧的值,这就是逻辑错误咯,典型的bug啊。
其实多线程也不是不能同时操作同一个全局变量,只要用上了多线程里面的“线程同步”技术就可以了。

热心网友 时间:2023-10-20 07:21

linux多线程为什么不能同时操作同一个全局变量:会使数据混乱 (简单理解)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 飞机上的配件能通过3D打印来实现吗? 多线程有关全局变量和局部变量的区别,注意a,b 求中文翻译。 请大家帮我翻译一些句子,把中文翻译成英文 书虫生存游戏中文翻译 把英语翻译成中文!~ 有会英语的吗?请帮助我把下面文章翻译成中文,谢谢 求南非世界杯主题曲旗开得胜的中文翻译!要中英文对照,20分悬赏 中文翻译成英文(英语高手来吧) penguin's game是首歌曲,歌词的中文是什么啊?求大神翻译,谢谢 穿越火线霸气玩账号交易可靠吗? 英语高手帮我把中文翻译成英文 想在游戏账号交易平台买一个穿越火线账号,不知道靠不靠谱,会不会被找回呢, 请翻译一下这首日语歌? 高分悬赏英文翻译中文,在线等2 租cf号有什么平台,,我知道租号玩 将“就是来玩游戏的”翻译成英文 我想出售一个cf账号,不知道在哪卖,有没有什么第三方交易平台 求英文翻译成中文~~ 我想买一个cf号 那个交易平台好点 三维打印技术有哪些用途? 毕业论文中常用的画图工具有哪些? 3D打印机在航空航天方面,可以打印哪些零部件? 多线程同时去一个全局变量执行写的操作,如何保证线程 金属3D打印机在航空航天方面,可以打印哪些零部件? 求一款简单好用的画图工具 关于面向对象编程问题。多线程与全局变量关系 3D打印技术可以应用在哪些领域? 3D打印风口来了,你准备好了吗? 如何在VC多线程下使用私有的全局变量 比较好用的画图工具都又哪些? 多线程访问全局变量除了加锁还可以通过什么方式避免? 夏天了,剃光头戴假发会比较凉快点吗? MFC多线程不能访问全局变量 VC多线程访问同一全局变量的问题 谁知道好用的画图工具下载 多线程里怎么设置全局变量数组 哪种画图工具好 3d打印有哪些?有什么用? java多线程同步全局变量