1. 程式人生 > >那些年——8 286&586[同步&非同步]

那些年——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):

都看看書就好啦
這裡寫圖片描述