同步(計算機術語)

同步(計算機術語)

同步是一種計算機術語,一般指的是在兩個或多個資料庫、檔案、模組、執行緒之間用來保持數據內容一致性的機制。

基本介紹

資料庫同步,檔案同步,通信同步,執行緒同步,

資料庫同步

資料庫同步的含義就是讓兩個或多個資料庫內容保持一致,或者按需要部分保持一致。
資料庫同步有兩種實現方式。第一種是根據資料庫的日誌,將一個資料庫的修改套用到另一個資料庫。這種方式適契約一種資料庫,並且數據結構完全相同的情況。如果要把這種同步方式套用到不同類型的資料庫,或者資料庫中數據類型不同,都會遇到困難。第二種實現方式是分析兩個資料庫中內容,找出差異,將差異的部分記錄寫入對方資料庫中。這種方式對數據類型沒有嚴格要求,因為數據從一個資料庫調出,寫入另一資料庫之前,可以做適當的類型轉換。如果使用ODBC接口訪問資料庫,這種實現同步的方式還可以適用於各種異類資料庫之間的同步。

檔案同步

檔案同步的含義就是讓兩個或多個資料夾里的檔案保持一致,或者按需要部分保持一致。
需要同步的資料夾可以是同一台計算機上,也可以是在不同計算機上,甚至是異地的。如果要同步的資料夾在同一台計算機上,則屬於單機檔案同步,如果要同步的資料夾在不同的計算機上,就是遠程檔案同步了。同步處理時,掃描分析雙方資料夾中的檔案,然後進行對比找出有修改或增加或缺少的檔案,按需要進行檔案傳送或刪除多餘檔案,最終使資料夾內容保持一致,或者按需要部分保持一致。

通信同步

計算機網路中,“同步”的意思很廣泛,它沒有一個簡單的定義。在很多地方都用到“同步”的概念。例如在協定的定義中,協定的三個要素之一就是“同步”。在網路通信編程中常提到的“同步”,則主要指某函式的執行方式,即函式調用者需等待函式執行完成後才能進到下一步。在數據通信中的同步通信則是與異步通信有很大的區別。
“異步通信”是一種很常用的通信方式。異步通信在傳送字元時,所傳送的字元之間的時間間隔可以是任意的。當然,接收端必須時刻做好接收的準備(如果接收端主機的電源都沒有加上,那么傳送端傳送字元就沒有意義,因為接收端根本無法接收)。傳送端可以在任意時刻開始傳送字元,因此必須在每一個字元的開始和結束的地方加上標誌,即加上開始位和停止位,以便使接收端能夠正確地將每一個字元接收下來。異步通信的好處是通信設備簡單、便宜,但傳輸效率較低(因為開始位和停止位的開銷所占比例較大)。
異步通信也可以是以幀作為傳送的單位。接收端必須隨時做好接收幀的準備。這時,幀的首部必須設有一些特殊的比特組合,使得接收端能夠找出一幀的開始。這也稱為幀定界。幀定界還包含確定幀的結束位置。這有兩種方法。一種是在幀的尾部設有某種特殊的比特組合來標誌幀的結束。或者在幀首部中設有幀長度的欄位。需要注意的是,在異步傳送幀時,並不是說傳送端對幀中的每一個字元都必須加上開始位和停止位後再傳送出去,而是說,傳送端可以在任意時間傳送一個幀,而幀與幀之間的時間間隔也可以是任意的。在一幀中的所有比特是連續傳送的。傳送端不需要在傳送一幀之前和接收端進行協調(不需要先進行比特同步)。
同步通信”的通信雙方必須先建立同步,即雙方的時鐘要調整到同一個頻率。收發雙方不停地傳送和接收連續的同步比特流。但這時還有兩種不同的同步方式。一種是使用全網同步,用一個非常精確的主時鐘對全網所有結點上的時鐘進行同步。另一種是使用準同步,各結點的時鐘之間允許有微小的誤差,然後採用其他措施實現同步傳輸

執行緒同步

執行緒同步解決的是在一個程式中多個執行緒之間的關係的協調,對競爭資源的訪問的一種處理方式,避免一個執行緒長期占用一個資源的目的。有synchronized,lock ,volatile,訊息傳遞機制等處理方式達到執行緒同步。比如在java中使用synchronized關鍵字修飾一個方法,用這個關鍵字修飾的方法稱為“同步方法”,語法:訪問控制符 +synchronized + 返回值類型(參數列表) +方法體;具有這個關鍵字的方法有一個重要的特性,就是該方法每次只能有一個執行緒執行這個方法;後來的執行緒處於掛起狀態,直到前面的調用該方法的執行緒退出該方法,才能調用調用該方法體執行。

相關詞條

熱門詞條

聯絡我們