作者ec75413 (无亏/明月几时有?)
看板Ajax
标题[讨论] javascript是共时、多执行绪吗?
时间Fri Nov 4 21:45:44 2011
参考讨论串:
http://ppt.cc/ZLYB (研究中)
手边没恐龙本 忘记放哪了
所以不太确定共时的定义、需要解synchronization的状况
不过以我手边的工作来说
我确实遇到了synchronization的问题
有个critical section 在里面出现状况
所以加上ajax的js 的确会遇到同步问题。
那没有ajax的javscript呢?
网路上有人说 ajax 让javascript变成multi-threaded
这是因为ajax让javascript可以不同步进行工作
也就是说 ajax 在读取成功後所执行的工作
和原本ajax後面的程式码
形成多thread的局面
没有ajax 程式设计师无法写出第二个thread的程式码
所以好像可以说 没ajax javascript就是单执行序。
不过这样javascript就不会有同步问题吗?
Wallace variance of Bakery's algorithm就是多余的吗?
setTimeout虽然就像是system call
交给系统帮我们做事的感觉
不过作的内容却是设计师自己定义
万一刚好是critical section,
会不会出问题呢?
本身的javascript执行到那个地方 还没离开
又刚好被timer中断 timer又跳进去执行
这样会发生甚麽事呢?
alert()视窗出现时 其他javascript就一定会停止运作吗?
即使丢给了系统一个system call, javascript会停下来等系统完成工作吗?
其他像是键盘触发的事件 如果使用者一直压着
送出信号的间隔就会非常短
那如果刚好callback function里的内容属於critical section
会不会发生前一个信号的工作还没完成 第二个讯号就送进来?
我心中目前有个小小的想法:
其实这些问题 只要不写出scritical section就可轻松避开。
但这样的话 就可能会舍弃 javascript
interactive的原则。
在这里没找到类似的讨论串 网路上中文的也很少
但英文还算不少
所以把这个议题放上来。
不知这个问题已经是老梗了 还是...?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.162.216
1F:推 PsMonkey:所以你应该来写 GWT [茶] 11/04 23:12
2F:→ TonyQ:写GWT 跟写 javascript 是完全的两码子事 :P 11/05 04:36
3F:推 PsMonkey:完全两码子的事情? 真是干得好... 高手啊 11/05 11:08
4F:推 awashharp:我喜欢Node.js不知在哪看到的一句话: 11/06 07:24
5F:→ awashharp:Everything runs in parallel, except your code. 11/06 07:24
6F:→ awashharp:感觉就能够了解JavaScript的运作过程XD 11/06 07:25
7F:→ TonyQ:不用太夸赞我,我不会不好意思。:P 11/06 10:59
8F:→ TonyQ:有见解的欢迎回文,不用高手来高手去内藏几千字人家猜不透 11/06 11:05
9F:→ TonyQ:的小剧场,我的论点在於GWT一来绑定平台,二来写的跟纯 11/06 11:05
10F:→ TonyQ:JS的界面相去太远,对於熟悉JS或者正在写js的developer而言 11/06 11:06
11F:→ TonyQ:转换成本颇高。所以要正在写js的developer转用GWT写而解决 11/06 11:06
12F:→ TonyQ:原本问题是很困难的事情。既然很难有替代效应,自然就不是 11/06 11:06
13F:→ TonyQ:同一码子的事情。酱讲应该够清楚了。 11/06 11:06
14F:→ TonyQ:虽然说你没风度不是一天两天的事情,但是我很害怕几个月後又 11/06 11:08
15F:→ TonyQ:被你的小剧场抓出来鞭,所以只好还是回应一下,但是其实我 11/06 11:08
16F:→ TonyQ:不是那麽在乎你的答案就是。(摊手) 11/06 11:09
17F:→ chrisQQ:既然 GWT 都出来了,那我只好推个 Dart 了。 11/06 11:34
18F:推 PsMonkey:果然不愧是高手,应该请大家来膜拜一下 (y) 11/06 20:51
19F:→ PsMonkey:请大家千万不要学 GWT,至少不要在 AJAX 版学,真的..... 11/06 20:53
20F:→ pttnews:楼上的,你时间太多了吗? 11/16 11:29