网易首页 > 网易号 > 正文 申请入驻

即使在计算机的世界,同时性也只是相对的

0
分享至

爱因斯坦告诉我们:同时性是相对的。也即:在不同的地点发生的两个事件,在一个惯性系里是同时的,但在另一个惯性系里看来却不是同时的。而在计算机的世界里,同时性也是相对的。容我慢慢道来。

有些开发者会问:“是否可以同时在一个线程里执行操作A而在另一个线程中执行操作B?”,下面是一些具体的例子:
> X操作:关闭某个句柄,Y操作:使用这个句柄。
> X操作:在一个句柄上执行
UnregisterWaitForSingleObject,Y操作:在相同的句柄上执行UnregisterWaitForSingleObject。

我想,你应该可以在不知晓任何内部原理的情况下回答这些问题。你只需要知道一些物理知识以及关于什么是“有效顺序代码(valid sequential code)”。

让我们实际做一个思维实验加深对这个同时性的理解。

正如文章开头所说的,同时性是相对的,所以任何同时执行X和Y的代码,都可以通过实验观察到,在Y之前执行X,或在X之前执行Y,这取决于你使用的参考框架。

因此,如果可以同时执行它们,那么也必然可以一个接一个地先后执行它们,因为如果你从底层的原理上考察一个计算机体系,可以知道:它们确实会一个接一个地先后执行的。

在关闭一个句柄后是否可以继续使用这个句柄? 是否可以在一个事件上解除等待两次?
以上两个问题的答案是:不可以。也即,我们不能同时性地执行这些操作。

如果你不喜欢使用物理学来解答这些疑问,你可以通过下面的技术性思考进行理解。

调用一个函数并非一项原子性操作。实际上它包含几个步骤:准备参数,调用函数入口点,函数执行操作,返回值。即使你有办法在两个线程中同时到达函数入口点(实际上从物理层面上我们无法真正同时地执行两个操作),也会存在这样一种可能性:在“call”指令将控制权转移到目标函数的第一条指令后,一个线程总是有可能立即被抢占,而另一个线程继续完成。在第二个线程运行完成后,被抢占的线程被调度并开始执行函数体。

在这种情况下,你实际上是一个接一个地调用了这两个函数,尽管你努力同时调用它们。 由于这种情况总是有可能发生的,在编写并发代码时,需要考虑这种可能性。

希望这第二种技术性解释能让那些不相信物理力量的人满意。
就个人而言,我更喜欢使用物理学原理。

总结

多线程里的并发性设计,需要在心中时时刻刻问自己:是否有其他线程里的代码尝试修改这个变量?

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Even in computing, simultaneity is relative》

最近我写了个东西

正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
0-2到3-2!中国女排击败世界第一,晋级决赛!张常宁立功了

0-2到3-2!中国女排击败世界第一,晋级决赛!张常宁立功了

体育哲人
2024-06-15 23:02:19
1981年,他被连队关禁闭借故爬上大树解闷,一亮光改变了他的人生

1981年,他被连队关禁闭借故爬上大树解闷,一亮光改变了他的人生

百年历史老号
2024-06-12 07:38:26
阿根廷5名世界杯冠军球员无缘美洲杯:迪巴拉在列

阿根廷5名世界杯冠军球员无缘美洲杯:迪巴拉在列

直播吧
2024-06-15 22:57:42
美国下达全球通缉令,逮捕中国科学家陈正坤,现在怎么样了?

美国下达全球通缉令,逮捕中国科学家陈正坤,现在怎么样了?

马可菠萝蜜
2024-06-14 00:13:08
为什么“父亲节”变得如此低调呢?

为什么“父亲节”变得如此低调呢?

叒女紫121
2024-06-15 17:02:11
男子花46万彩礼娶妻难“圆房”……警方介入

男子花46万彩礼娶妻难“圆房”……警方介入

鲁中晨报
2024-06-14 21:39:08
期限只剩最后2天!菲律宾救兵到了,3艘055舰应对,歼16已挂实弹

期限只剩最后2天!菲律宾救兵到了,3艘055舰应对,歼16已挂实弹

影孖看世界
2024-06-13 20:47:29
实在想不明白!一个球队替补,拿着300万底薪,为什么都叫他巨头

实在想不明白!一个球队替补,拿着300万底薪,为什么都叫他巨头

球毛鬼胎
2024-06-15 15:10:53
1971年我下乡插队,被安排住在一个寡妇家中,做了两年的临时夫妻

1971年我下乡插队,被安排住在一个寡妇家中,做了两年的临时夫妻

娱乐小可爱蛙
2024-06-15 17:58:51
赵蕊蕊探班中国女排,被李盈莹喊阿姨,袁心玥应该取经

赵蕊蕊探班中国女排,被李盈莹喊阿姨,袁心玥应该取经

跑者排球视角
2024-06-15 18:56:37
专家预测:2025年房价将会是现在的4-5倍!

专家预测:2025年房价将会是现在的4-5倍!

帝都观日记
2024-06-14 23:31:02
什么是你谈了瘦瘦的女朋友才知道的?趴我身上时以为是个狼牙棒

什么是你谈了瘦瘦的女朋友才知道的?趴我身上时以为是个狼牙棒

王二哥老搞笑
2024-06-15 18:50:33
新国标电动自行车的五大反人性设计 除了猪 人类干不出这缺德事

新国标电动自行车的五大反人性设计 除了猪 人类干不出这缺德事

文雅笔墨
2024-06-14 17:52:50
0:0!1:2!中超2大豪门接连爆冷,嘴硬争冠?申花上港背后1大真相

0:0!1:2!中超2大豪门接连爆冷,嘴硬争冠?申花上港背后1大真相

话体坛
2024-06-16 03:59:24
金砖运动会金牌榜:中国队第三,以色列巴勒斯坦挂0,日本队垫底

金砖运动会金牌榜:中国队第三,以色列巴勒斯坦挂0,日本队垫底

小豆豆赛事
2024-06-15 18:08:35
高考结束,女孩收到三年前去世外公送出的花!网友泪目:他没有失约

高考结束,女孩收到三年前去世外公送出的花!网友泪目:他没有失约

鲁中晨报
2024-06-15 16:19:25
江宏杰秀刺青,将儿女纹在胸口,发文不怕刺激到福原爱?

江宏杰秀刺青,将儿女纹在胸口,发文不怕刺激到福原爱?

素素娱乐
2024-06-14 07:48:51
你还买电动车吗?国际能源署警告:到2030年末,全球石油市场将面临严重过剩【附全球石油市场供需现状分析】

你还买电动车吗?国际能源署警告:到2030年末,全球石油市场将面临严重过剩【附全球石油市场供需现状分析】

前瞻网
2024-06-13 17:08:14
人类为什么没有生殖隔离?

人类为什么没有生殖隔离?

读史
2024-06-14 07:00:30
姜萍父亲发声,家庭困难住着破房子,姐妹都是学霸,刘奔搞笑回应

姜萍父亲发声,家庭困难住着破房子,姐妹都是学霸,刘奔搞笑回应

娱乐圈见解说
2024-06-15 18:57:27
2024-06-16 06:58:44
漫漫开发路
漫漫开发路
Topomel Box开发者
682文章数 1339关注度
往期回顾 全部

科技要闻

TikTok开始找退路了?

头条要闻

欧洲杯-23秒丢球破纪录 意大利2-1逆转阿尔巴尼亚

头条要闻

欧洲杯-23秒丢球破纪录 意大利2-1逆转阿尔巴尼亚

体育要闻

莱夫利,让困难为我让路

娱乐要闻

江宏杰秀儿女刺青,不怕刺激福原爱?

财经要闻

新情况!高层对人民币的态度180°转弯

汽车要闻

东风奕派eπ008售21.66万元 冰箱彩电都配齐

态度原创

数码
游戏
亲子
房产
军事航空

数码要闻

低至 5747 元,爱普生 CH-TW6280T 真 4K 投影仪京东大促

魂师对决:SP唐昊返场抽取价值分析!真身幻金真是一个都少不了!

亲子要闻

孩子总是便秘 家长要注意 这几点

房产要闻

万华对面!海口今年首宗超百亩宅地,重磅挂出!

军事要闻

普京提停火和谈条件 美防长迅速回应

无障碍浏览 进入关怀版