大p故事会001:同步、异步、阻塞、非阻塞那些事

高中生大p就读于一所很一般的学校,大p所在的班里有一个来自s市的女孩小h。

小h娇小活泼可爱而且很个性,很受同学们的欢迎,小h不知道的是大p也已经关注她很久了,虽然两个人都是寄宿生,但他们两个都偷偷带了手机到学校来,大p从其他同学那里问来了小h的手机号码,大p鼓起勇气拨通了小h的电话,还没等小h接听,大p就退缩了,挂了电话。那时的手机对学生来说还很新鲜,小h 看到这个未接电话,不知道是谁打来的,处于好玩就给这个陌生号码回了过来,但大p 却没有勇气接听,任由手机振动着。当时很流行彩铃,大p 也不例外地设置了彩铃,用的是张震岳的《思念是一种病》,这首歌刚好是当时小h最喜欢的音乐,于是后来小h在想听这首歌的时候就会给这个号码打电话。

高二那年下了一场暴雪,导致全市所有设施瘫痪,于是学校放假了,刚好那天学校期中考试,也是在这一天大p告诉了小h那个手机号是他的。晚上回家后大p假装很不在乎地发短信问了小h这次考的怎么样,小h很客套的应付了几句,但大p这天异常兴奋,他隐约感受到如果再不做点什么可能就会永远错过了,于是他寻找各种话题和小h聊天,不知不觉从晚上10点聊到了早上5点…

这之后小h也明白了大p的用意,大p在1个月后向小h表白了,但遭到了小h的拒绝,小h告诉大p学业要紧,等高中毕业后再考虑。

转眼间高二下学期快要结束了,这一天小h把大p叫到一个没有人的地方,跟大p说:「我答应你之前那件事了,你也答应我,等我回来好吗?」,大p不知道她在说什么,他只听到小h说她同意了,现在的大p 不管什么事情都会答应的,后来大p才知道,小h 是要回s市读高三,然后要在s市参加高考。

高三,小h去了s市,他们两个每天通过手机短信的方式进行交流(当然是偷偷的),刚开始的时候,大p总是心心念地等着短信回复,每次给小h发过去短信后就茶不思饭不想题也看不进去,只能两眼直勾勾地盯着手机等着短信回来,因为手机是静音所以要想第一时间知道短信到了只能盯着看屏幕有没有亮,这样过了一段时间,大p的成绩一落千丈,因为他有太多的时间花在了等着短信回复上。

大p认为这样下去也不是办法于是调整了一下自己的心态,每次发完短信后不再一直盯着手机等回复了,而是用这个时间去看书、做题,每过一段时间就查看一下有没有短信过来,虽然大p的成绩慢慢爬了上来,但在这种状态下大p的心里还是需要一直惦记着手机,因为他不知道短信什么时候过来所以要时不时的去看一眼。

于是大p就想有没有什么办法可以让自己不用频繁去看手机,又能在第一时间知道有短信来了呢,大p想了三天三夜想到了一个主意:用手机的振动功能,打开短信的振动提醒,可以把手机放在裤兜里,每次短信来了可以立刻感受到而且不会被老师发现。大p 像平常一样给小h发了条短信,为了验证这个振动功能的有效性,大p这次还是盯着手机等回复,直到短信回来手机震了,大p确信了方案的可行性。

此后,大p的学习效率更高了,也可以安心的听课做题了,大p 只需要在手机振动的时候去看短信就行。大p很开心,就这样,高三的时光一闪而过,他们两个约定好要考同一所大学。

预知后事如何,请听下回分解。

上边大p用到了4种方案来处理短信这件事:

  • 同步阻塞(傻傻的等短信过来)
  • 同步非阻塞(大p写会作业,检查下手机有没有新短信,这样交替轮询)
  • 异步阻塞(手机开启振动模式,但大p 还是盯着看。用这种方案的大p很傻,所以大p只尝试了一次)
  • 异步非阻塞(大p只管学习,手机一震大p就知道短信来了)

阻塞非阻塞都是相对于大p来说的,取决于大p等待短信时的状态。全心投入等短信达到的大p是阻塞的,可以抽出时间来做其他事情的大p是非阻塞的。

而同步和异步是对手机来说的,同步需要让大p自己去检查有没有新短信达到,而异步(也就是手机开启振动模式)可以主动告诉大p有短信来了。