-
1 # 使用者1622074203195
-
2 # 使用者5295278951632
同步和非同步的區別:
1、在計算機領域,同步就是指一個程序在執行某個請求的時候,若該請求需要一段時間才能返回資訊,那麼這個程序將會一直等待下去,直到收到返回資訊才繼續執行下去;非同步是指程序不需要一直等下去,而是繼續執行下面的操作,不管其他程序的狀態。當有訊息返回時系統會通知程序進行處理,這樣可以提高執行的效率。
2、而我們平時經常討論的同步問題多發生在多執行緒環境中的資料共享問題。即當多個執行緒需要訪問同一個資源時,它們需要以某種順序來確保該資源在某一特定時刻只能被一個執行緒所訪問,如果使用非同步,程式的執行結果將不可預料。因此,在這種情況下,就必須對資料進行同步,即限制只能有一個程序訪問資源,其他執行緒必須等待。
實現同步的機制主要有臨界區、互斥、訊號量和事件
3、臨界區:透過對多執行緒的序列化來訪問公共資源或一段程式碼,速度快,適合控制資料訪問。在任意時刻只允許一個執行緒對共享資源進行訪問,如果有多個執行緒試圖訪問公共資 源,那麼在有一個執行緒進入後,其他試圖訪問公共資源的執行緒將被掛起,並一直等到進入臨界區的執行緒離開,臨界區在被釋放後,其他執行緒才可以搶佔。
4、互斥量:採用互斥物件機制。 只有擁有互斥物件的執行緒才有訪問公共資源的許可權,因為互斥物件只有一個,所以能保證公共資源不會同時被多個執行緒訪問。互斥不僅能實現同一應用程式的公共資源安全共享,還能實現不同應用程式的公共資源安全共享 .互斥量比臨界區複雜。因為使用互斥不僅僅能夠在同一應用程式不同執行緒中實現資源的安全共享,而且可以在不同應用程式的執行緒之間實現對資源的安全共享。
5、訊號量:它允許多個執行緒在同一時刻訪問同一資源,但是需要限制在同一時刻訪問此資源的最大執行緒數目 。訊號量物件對執行緒的同步方式與前面幾種方法不同,訊號允許多個執行緒同時使用共享資源,這與作業系統中的PV操作相同。它指出了同時訪問共享資源的執行緒最大數目。它允許多個執行緒在同一時刻訪問同一資源,但是需要限制在同一時刻訪問此資源的最大執行緒數目。
6、事件:透過通知操作的方式來保持執行緒的同步,還可以方便實現對多個執行緒的優先順序比較的操作 。
回覆列表
1,同步與非同步的最大區別就在於看他門的轉子速度是不是與定子旋轉的磁場速度一致,如果轉子的旋轉速度與定子是一樣的,那就叫同步電動機,如果不一致,就叫非同步電動機。。。2,當極對數一定時,電機的轉速和頻率之間有嚴格的關係,用電機專業術語說,就是同步。非同步電機也叫感應電機,主要作為電動機使用,其工作時的轉子轉速總是小於同步電機。:3所謂“同步”就是電樞(定子)繞組流過電流後,將在氣隙中形成一旋轉磁場,而該磁場的旋轉方向及旋轉速度均與轉子轉向,轉速相同,故為同步。非同步電機的話,其旋轉磁場與轉子存在相對轉速,即產生轉距。