同步

同步

同步:當兩個設備一起工作並對時間有精確要求的時候,就需要在它們之間進行同步。同步是基於在兩個設備之間規定一個共同的時間參考。例如,你想將32軌的音頻信號錄製在兩台16軌磁帶機上,則這兩個磁帶機的磁帶傳送軸就需要鎖定在一起,這個過程就稱為同步。

基本信息

同步

(tóngbù)synchronous;sync;synchronism;synchronization指兩個或兩個以上隨時間變化的量在變化過程中保持一定的相對關係。

同步同步

詳細解釋

1.同時起步,協調一致。《光明日報》1984.6.2:“城市改革的步子要加快,要從解決國家與企業、企業與職工的關係入手,把適合於當前情況的各項改革措施初步配起套來,同步進行。”

2.物理學名詞。兩個或幾個隨時間變化的量,在變化過程中保持一定的相對關係。

3.多媒體名詞。由多媒體數據單元(如音頻、視頻、文本、圖像等)在時域序列上相對位置的約束關係。

設備同步

定義
當兩個設備一起工作並對時間有精確要求的時候,就需要在它們之間進行同步。同步是基於在兩個設備之間規定一個共同的時間參考。例如,你想將32軌的音頻信號錄製在兩台16軌磁帶機上,則這兩個磁帶機的磁帶傳送軸就需要鎖定在一起,這個過程就稱為同步。如果這兩個設備沒有進行同步,無論它們開始的時間多么一致,也會由於兩台設備機械結構的差異而產生時間漂移。

桌面型音樂製作系統經常遇到的同步通常是在音序器(或音序軟體)與多軌錄音機之間進行的,同步的目的主要是將不同MIDI音色的聲音錄到單獨的音軌上。即使你只使用一台多任務型電腦(既是音序器,又是數字音頻錄音機),它本身也同樣存在同步問題。雖然以計算機為基礎的數字音頻設備比機械式磁帶錄音機要精確得多,但是如果缺少同步,也會出現一些問題。

當兩台(或多台)設備進行同步的時候,其中一台稱為主機(以其內部傳送的時間碼為準),而其它的則稱為從機。在只有一台從機的時候,同步信號可直接由主機傳送給從機,這時,從機的時鐘方式要打到“外部時鐘方式”(ExternalClockMode)。有多台從機時,則需一個專門產生同步信號的設備作為主機,以便多台從機進行同步。
分類
同步信號分為幾種類型,其用途也是不一樣的。MIDI時鐘是較為簡單的同步信號之一。在MIDI規定中,定義了由主機通過MIDI線傳送的時鐘位元組為24ppq(每四分音符的時鐘點),同時還規定了樂曲的開始、停止、繼續等命令。使用這些命令,兩台音序器可以很容易地進行同步。用戶可以通過一條MIDI線,將主機上的操作傳送到從機上,使從機能夠很好地和主機同步。(從理論上講應該是這樣的,但實際操作時會遇到一些預想不到的問題。)

你也許已經注意到,MIDI時鐘和樂曲的速度是有關係的。當主機的樂曲速度加快後,每秒鐘內所傳送的MIDI時鐘點也會增加,這時從機的樂曲速度也會增加。另外一種同步信號是根據絕對時間編碼而成的——它包含了小時、分、秒等信息,最常用的這種時間碼被稱做SMPTE(即英文電影電視工程師協會——SocietyofMotionPictureandTelevisionEngineers的縮寫)。SMPTE碼將時間分為小時、分、秒、幀和位。在使用SMPTE碼時,幀頻率是經常用到的一個選項,經常使用的幀頻率為24,25或30fps(每秒幀數)。只有在主機和從機都選擇了相同的幀頻率時,才能很好同步。

SMPTE碼是一種音頻信號,很容易錄製在磁帶或硬碟上。由於MIDI電纜所傳送的MIDI信號為數位訊號,所以SMPTE碼不能通過MIDI線直接傳輸。但是MTC碼(即英文MIDI時間碼——MIDITimeCode的縮寫)則能將SMPTE碼編譯成MIDI格式,並能通過MIDI線進行傳送。在這裡需要注意的是SMPTE和MTC碼並不傳送開始、結束等命令,並且也不會改變樂曲的速度。它們提供的是以分、秒來計算的絕對時間參考,而不是小節、拍的參考。所以如果在多軌機錄製了幾軌後,你又改變了音序器中樂曲的速度,那么再錄製時,就會出現錯位現象,即使多軌機已經錄製了SMPTE同步信號並經MTC與音序器很好地同步,也無濟於事。

對於數字音頻錄音來說,無論是MIDI信號還是SMPTE信號都不能提供足夠的精度。高精度的數字音頻錄音設備之間,往往需要使用被稱為字時鐘的同步信號來進行同步鎖定。其精度是和一個採樣字頻率是一樣的——通常是每秒鐘出現44.1或48千次。如果要將數字音頻錄音機中的字時鐘同步信號轉換成SMPTE或其它時鐘碼時,則需要一個專門的硬體設備來完成。

編程方面的同步

同步就是協同步調,按預定的先後次序進行運行。如:你說完,我再說。“同”字從字面上容易理解為一起動作。

其實不是,“同”字應是指協同、協助、互相配合。

如進程、執行緒同步,可理解為進程或執行緒A和B一塊配合,A執行到一定程度時要依靠B的某個結果,於是停下來,示意B運行;B依言執行,再將結果給A;A再繼續操作。

所謂同步,就是在發出一個功能調用時,在沒有得到結果之前,該調用就不返回,同時其它執行緒也不能調用這個方法。按照這個定義,其實絕大多數函式都是同步調用(例如sin,isdigit等)。但是一般而言,我們在說同步、異步的時候,特指那些需要其他部件協作或者需要一定時間完成的任務。最常見的例子就是SendMessage。該函式傳送一個訊息給某個視窗,在對方處理完訊息之前,這個函式不返回。當對方處理完畢以後,該函式才把訊息處理函式所返回的LRESULT值返回給調用者。

在多執行緒編程裡面,一些敏感數據不允許被多個執行緒同時訪問,此時就使用同步訪問技術,保證數據在任何時刻,最多有一個執行緒訪問,以保證數據的完整性。在Java裡面,通過synchornized進行同步的保證。比如

classMyTest{privatestaticfinalObjectlock=newObject();publicstaticsynchronizedvoidtest(){//同步的方法}publicvoidtest2(){synchronized(lock){//方法級同步,也可以使用this實現對象級同步}}}

資料庫同步

資料庫同步的含義就是讓兩個或多個資料庫內容保持一致,或者按需要部分保持一致。

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

檔案同步

檔案同步的含義就是讓兩個或多個資料夾里的檔案保持一致,或者按需要部分保持一致。

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

通信同步

在計算機網路中,“同步”的意思很廣泛,它沒有一個簡單的定義。在很多地方都用到“同步”的概念。例如在協定的定義中,協定的三個要素之一就是“同步”。在網路通信編程中常提到的“同步”,則主要指某函式的執行方式,即函式調用者需等待函式執行完成後才能進到下一步。在數據通信中的同步通信則是與異步通信有很大的區別

“異步通信”是一種很常用的通信方式。異步通信在傳送字元時,所傳送的字元之間的時間間隔可以是任意的。當然,接收端必須時刻做好接收的準備(如果接收端主機的電源都沒有加上,那么傳送端傳送字元就沒有意義,因為接收端根本無法接收)。傳送端可以在任意時刻開始傳送字元,因此必須在每一個字元的開始和結束的地方加上標誌,即加上開始位和停止位,以便使接收端能夠正確地將每一個字元接收下來。異步通信的好處是通信設備簡單、便宜,但傳輸效率較低(因為開始位和停止位的開銷所占比例較大)。

異步通信也可以是以幀作為傳送的單位。接收端必須隨時做好接收幀的準備。這是,幀的首部必須設有一些特殊的比特組合,使得接收端能夠找出一幀的開始。這也稱為幀定界。幀定界還包含確定幀的結束位置。這有兩種方法。一種是在幀的尾部設有某種特殊的比特組合來標誌幀的結束。或者在幀首部中設有幀長度的欄位。需要注意的是,在異步傳送幀時,並不是說傳送端對幀中的每一個字元都必須加上開始位和停止位後再傳送出去,而是說,傳送端可以在任意時間傳送一個幀,而幀與幀之間的時間間隔也可以是任意的。在一幀中的所有比特是連續傳送的。傳送端不需要在傳送一幀之前和接收端進行協調(不需要先進行比特同步)。

“同步通信”的通信雙方必須先建立同步,即雙方的時鐘要調整到同一個頻率。收發雙方不停地傳送和接收連續的同步比特流。但這時還有兩種不同的同步方式。一種是使用全網同步,用一個非常精確的主時鐘對全網所有結點上的時鐘進行同步。另一種是使用準同步,各結點的時鐘之間允許有微小的誤差,然後採用其他措施實現同步傳輸

相關搜尋

熱門詞條

聯絡我們