首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

socket的大便模型

2012-08-30 
socket的拉屎模型?太空中有很多宇航员,要大便。第一种方案:??? 一个一个排队大便。一天大便一次,轮到谁,谁必

socket的拉屎模型

?太空中有很多宇航员,要大便。

第一种方案:

??? 一个一个排队大便。一天大便一次,轮到谁,谁必须大便完成之后,才能给第二个人大便。【大便管理者很方便】,但是如果前面的【大便者】一直大便不出,直接把后面的【大便者给憋死】。正所谓【占着茅坑不拉屎】。

?? 这就是阻塞同步模型。

第二种方案:

??? 为了防止【占着茅坑不拉屎】, 不排队大便了,拿着便桶按照顺序一个一个轮询,告诉他做好准备,没准备好的,就直接放弃,并轮询下一个。有大便的就马上开始。

这就是【大便者】来说,是一步完成大便。但是不阻塞【大便管理员】。大便管理员一直很忙碌,叫做【同步非阻塞】。

?? 厕所终于能容纳更多的【大便者】了。

这就是【同步非阻塞】模型

第三种方案

???? 大便管理者太累啦,就出了个更歪的注意。买了个大喇叭。也不排队了,觉得这种方法在这里不合适。便池没有人的时候,就直接拿大喇叭一吼,有要大便的告诉我!!!!!

???? 这下【大便管理者】就没有那么忙碌,有时候还可以歇一会。(wait函数)。守着厕所等就是拉。就相当于把【大便管理者给阻塞】了。也不忙了。

? 但是对于【大便者】来说又多了一份工作,那就是有大便还必须给【大便管理者】通知,然后获得准许,才可以大便。

这就是【阻塞非同步模型】。

第四种方案:

?? 尽管如此,大便管理者还是觉得太累了。每天还必须拿着大喇叭来吼,还必须蹲在厕所旁边闻臭味。并且【大便管理者】觉得跟【大便者】之间的交互简直是累透了。能不能直接让【大便者】想大便就大便。自己也不用整天忙了。于是给【大便者】每一个人发了一个大便袋子。【大便者】每天的工作更简单了,就是直接大便到袋子里。并且由机器人去搜集袋子。

? 对于【大便者】来说,第一步,搞到一个袋子。第二步,拉屎。两步。叫做异步。

? 对于【大便管理者】来说,也不用守着厕所wait啦,该忙别的忙别的。叫做非阻塞,非同步。

?

可以看出对于应用程序【大便管理者】来说,第四种方案明显优越于前三种,下面就给出了一个简单的例子:

?

?

 ,敢不敢更形象 ,就喜欢这样的文章,容易看懂,看着还不会烦。    7 楼    RayChase    2011-12-25              有点意思。 

热点排行