给你们普及最最最最基本的并发问题
nodejs吧
全部回复
仅看楼主
level 5
sikele2236 楼主
我们知道nodejs是异步的,所以我模拟异步执行请求同一资源的情况,为了一些模拟复杂情况将资源取出计算在保存回去。
请求有两个 A B 资源Z
请求A发来请求,处理A请求,A请求异步获取资源Z
B请求,A请求异步中,所以直接处理B请求,B异步获取资源Z
A请求获取资源Z回调成功,Z为10,给他加1,得到11,异步保存回去
A异步中,穿插B的执行,B回调成功,由于A还未保存进去时就取出了,所以Z也是10,得到11然后异步保存。
A中回调,请求处理完毕。
B回调,请求处理完毕。
结果10没有两次加1得到12,还是11。呵呵
讲到这个份上在不明白就看智商了。
2015年02月27日 01点02分 1
level 5
sikele2236 楼主
@fengdayin 菜逼看得懂不?
2015年02月27日 03点02分 3
@fengdayin 吹理论就别吹了,先把这个最最最最简单的问题说说nodejs里怎么办?
2015年02月27日 06点02分
@fengdayin 只会智商谈兵么?来个最最最最简单的实际问题就没声儿了?
2015年02月27日 06点02分
level 5
sikele2236 楼主
@fengdayin 只会智商谈兵么?来个最最最最简单的实际问题就没声儿了
2015年02月27日 06点02分 4
level 5
sikele2236 楼主
@fengdayin 给个靠谱点的回答行不行啊,别说什么小白要从0学期了,大神来解答啊。哈哈,是不是正在从零学啥是同步,啥是锁啊
2015年02月27日 06点02分 5
level 5
sikele2236 楼主
@fengdayin 知不知道最基本的lock啊,读写锁啊,信号量啊,栅栏啊等同步机制啊,给你些词汇好好搜索搜索啊。
2015年02月27日 06点02分 6
level 5
sikele2236 楼主
@fengdayin 就你这个水平怎么开发并发的业务啊,怎么搞分布式啊。。哈哈
2015年02月27日 06点02分 7
@fengdayin 啊对,我都忘了你根本没开发过复杂业务,根本不懂并发,哈哈
2015年02月27日 06点02分
level 5
sikele2236 楼主
@fengdayin 看吧看吧,一遇到问题就逃了,还叫我去读什么网络,系统的书,真是只会纸上谈兵,死读书的货色。
2015年02月27日 06点02分 8
@fengdayin 还TM连C语言都出来了,扯到哪里去了?这么搞笑?
2015年02月27日 06点02分
@fengdayin 能再搞笑一点么?
2015年02月27日 06点02分
level 1
[冷]SB 一个, 看楼主举得这个例子, 完全不懂TCP通信是什么.
还请求A B, 资源Z.
两个人抢一个馒头, 美其名曰"并发". 你是逗比吗??? [哈哈]
这个举例真是赤裸裸的蠢透了.
连并发的基本是什么都搞不清楚.
[胜利]好好给你普及普及什么是并发:
[多进程单线程模型与单进程多线程模型之争] (http://www.jianshu.com/p/c61a7746d139)
[阴险]贴张图羞辱下楼主这个兰州大烧饼:
2015年02月27日 08点02分 14
别只会理论,回答问题,怎么处理同步?哈哈,别只会百度来图片了,问题是百度还是百度不来并发问题的图片,噗
2015年02月27日 08点02分
@sikele2236 同步处理有何问题? 处理就是了, 菜B! 这些图是搞通信编程的基本常识, 少年, 每一个懂通信编程的都应该见过. 像你这种学java c#的没见过也很正常, 小学生的水平
2015年02月27日 08点02分
@sikele2236 先把socket() bind() listen() accept() send() recv() close()的常识搞清楚吧, 菜鸟, 看到你就是个逗比. 底层的东西一点都不懂, 就知道瞎BB.[黑线]
2015年02月27日 08点02分
@无恨川杯味啊54 我知道你不懂并发,扯雏子蛋呢,都说了并发问题和网络通信无关,你能扯起来就说明你不动了
2015年02月27日 09点02分
level 1
> sikele2236: 我知道你不懂并发,扯雏子蛋呢,都说了并发问题和网络通信无关,你能扯起 来就说明你不动了 2015-2-27 17:33
[黑线]错误, 并发问题是网络通信的主要问题, 尤其当前大数据云平台时代, 分布式网络通信如何承载分流高并发, 是程序员首要解决的问题.
> sikele2236: tcp的几个破握手动作就是几个标准动作而已,和并发问题毫无关系。2015-2-27 17:34
[黑线]错误, tcp 3次握手只是tcp网络通信, 在开始建立连接时的协议交互. 当握手成功后, 将会面临Nagle算法计量, tcp窗口抖动, 数据报文错误校验, ... 一系列的通信报文流式的交互.
[黑线] 当tcp网络通信双工或者单工完成后, 其上的HTTP HTTPS报文进行更加复杂的报文封装. 少年, 好好学着吧.
> sikele2236: 你还没上升到业务层面,再底层你也就到tcp/ip协议了,你说你懂网络,你懂系统,Ndis懂不?2015-2-27 17:36
[黑线] 愚蠢! 操作系统驱动着整个底层硬件, tcp套接字则驱动着操作系统进行网络交互. 一个连tcp都不懂的程序员, 谈什么网络编程. 逗比 [阴险]
> sikele2236: 回答我的最最最最简单的并发问题吧,别吹了,丢人现眼,要论吹我上知天文下知地理,从汇编,系统内核,到图形,3D,到设计模式,架构,你是不是吹我一眼就看得出来,吹的过我?2015-2-27 17:39
[黑线] 连OSI网络7模型都不知道, 还上知天文下知地理. 你跟孔乙己哥有的一比. 麻烦讲讲什么是柯里化! [开心] 逗比, 估计你也没听说过.
[胜利]
2015年02月27日 10点02分 15
话说你百度百科完脏数据能搜索到这么多东西也蛮厉害的嘛,哈哈,可惜在网络这一块百度的还不够,ndis如何开发再去百度百度吧。
2015年02月27日 12点02分
tcp http不过是别人指定的标准,这玩意用用和java C#用用差不多一个意思,就是用用别人的东西,真正原理你得往底层走,你也搜索到了7层模型,最底层要研究到物理层呢,去吧。
2015年02月27日 12点02分
@sikele2236 白痴
2015年02月28日 02点02分
> sikele2236: 又在扯淡了。。tcp也得走网卡,网卡驱动又是系统底层的事儿,不知道了吧。 并发和网络本来就没直接关系,虽然常常一起出现,但别混淆概念了。 说几句反驳的话都漏洞百出。2015-2-27 20:12" [黑线] SB玩意, 走不走网卡都要有程序控制, 你可真够脑残
2015年02月28日 02点02分
level 6
麻烦楼主把什么叫并发,什么叫并行搞清楚,在来描述你举得例子
2015年03月02日 14点03分 16
这就是并发请求最简单的会出问题的情况
2015年03月02日 15点03分
回复 sikele2236 :并发和并行,百度一下,不麻烦的
2015年03月02日 15点03分
回复
���޴�
:你自己百度过没?
2015年03月02日 15点03分
level 1
看大牛们互撕
2015年03月02日 15点03分 17
level 11
[酷] 这2位每天都好有干劲啊,振兴贴吧就靠你们了,撒花
[玫瑰][玫瑰][玫瑰][玫瑰][玫瑰][玫瑰]
2015年03月03日 01点03分 18
level 1
我一路看两位大神撕逼,追踪到这里,看得我是合不拢嘴
[玫瑰][玫瑰][玫瑰]
2015年03月03日 14点03分 19
1