那些年——8 286&586[同步&非同步]
阿軍 說 (9:57):
老大:還是說說,同步、非同步 吧
阿軍 說 (9:57):
舉個例子:普通B/S模式(同步)AJAX技術(非同步)
同步:提交請求->等待伺服器處理->處理完畢返回 這個期間客戶端瀏覽器不能幹任何事
非同步: 請求通過事件觸發->伺服器處理(這是瀏覽器仍然可以作其他事情)->處理完畢
阿軍 說 (9:58):
這裡的同步 好像不是 我們說的java中的那個共享資料同步(synchronized)
阿軍 說 (10:52):
網上說的一大套,頭看暈了,還是不懂
老大sun 說 (10:52):
呵呵 同步非同步什麼啊??
阿軍 說 (10:53):
就java中的同步(鎖)
阿軍 說 (10:54):
書上好像說:同步,是為了多個執行緒看到一個共享資料始終是一樣的…這是怎麼說的
老大sun 說 (10:55):
synchronized ?
阿軍 說 (10:57):
是這個玩意
同步了,別的執行緒就進不來了,那為什麼還叫同步呢?!
我一直是這樣認為的:同步嘛,就是幾個執行緒可以同時進行訪問
結果看看synchronized 定義 不是這回事
老大sun 說 (10:57):
呵呵 同步其實可以理解為 同步鎖
阿軍 說 (10:59):
一個訪問了 別的就不可以了 (鎖住了),那同步是怎麼個說法
也就是說:同步 這個說法 不是針對是否是一起(同步)訪問這個操作了
老大sun 說 (11:00):
同步的意思是在多執行緒執行是為了保障資料安全而做的同步鎖
阿軍 說 (11:02):
原來,我自己一直自心想的理解是錯誤的:同步嘛,就是多個傢伙,可以同時訪問(操作)一個東西(共享資料)
老大sun 說 (11:04):
對是這個意思
老大sun 說 (11:04):
但是另外加入一個前提是 安全訪問
老大sun 說 (11:05):
同步的概念 就是 大家可以安全同時訪問同一個東西
老大sun 說 (11:05):
安全在這裡才是關鍵
老大sun 說 (11:06):
或者說 同步是為了保障atomic
阿軍 說 (11:08):
可,別人訪問時,就鎖住了。我必須等人家操作好了,我才可以操作,這就不是同時了啊
atomic 原子的?這東西不太明白
老大sun 說 (11:08):
- -!
老大sun 說 (11:08):
汗。。。
老大sun 說 (11:09):
同步是為了保障同時操作時的原子性和安全性
老大sun 說 (11:09):
你說的那個意思是併發 不是同步
阿軍 說 (11:10):
恩 併發 ,我說的那個,好像是這個味道
呵呵
阿軍 說 (11:10):
搞混了…
老大sun 說 (11:11):
同步是為了保障資料的同步
老大sun 說 (11:12):
把A機器的檔案同步到B機器上 這和執行緒有關係嗎?
老大sun 說 (11:12):
同步強調的資料一致
阿軍 說 (11:14):
看來,我一直誤解了:同步,所同步的物件。
同步的是資料,而不是同步的訪問操作這動作
老大sun 說 (11:14):
恩
阿軍 說 (11:16):
昨晚,回去,又看了一下tx的程式碼,感覺我要到你那個火候,還差的很遠很遠
老大sun 說 (11:16):
- -!
老大sun 說 (11:16):
慢慢來 你還小
老大sun 說 (11:16):
哈哈
阿軍 說 (11:18):
尤其是演算法 和 執行緒 這2塊
老大sun 說 (11:18):
慢慢來
老大sun 說 (11:18):
都看看書就好啦