1、線程同步是什麼意思,非同步是什麼,我理解為同步就是多過線程同時運行訪問伺服器,對嗎?
同步(synchronous)就是協同步調,按預定的先後次序進行運行。如:你說完,我再說。
「同」字從字面上容易理解為一起動作,其實不然,「同」字應是指協同、協助、互相配合。能表示前者意義的是「並發」。
那麼非同步就與同步相反,就像兩個人走路,每個人按照自己的節奏走,步伐不一定要一致。
同步/非同步這對概念其實在不同的領域有不同的含義。
在多線程的領域,其實只有同步的概念,當兩個或兩個以上的線程共享某些資源或需要相互配合來完成某些工作時,就必須通過線程同步來協調各個線程運行的次序。
比如在線程A和B配合工作時,A執行到一定程度時要依靠B的某個結果,於是停下來,示意B運行;B依言執行,再將結果給A;A再繼續操作。或者當線程A和B共享一個資源時,如果同一時間讀寫這個資源,就會發生資源競爭的問題,這時就只能允許某個時間點只有一個線程佔有資源,另外一個線程等待,這也是線程同步。
而在過程調用以及訪問伺服器的領域,這里的非同步是指在調用一個過程或請求伺服器的服務時,調用/請求方的調用/請求可以在調用操作完成或伺服器響應之前返回,做一些其他的工作,當調用完成或伺服器響應時再繼續與被調方/伺服器的協同工作。而同步則是在調用操作完成或伺服器響應之前不返回,持續地等待,以確保調用方/客戶端與被調方/伺服器協同一致。
另外在通信領域也有同步/非同步的概念,非同步雙方不需要共同的時鍾,也就是接收方不知道發送方什麼時候發送,所以在發送的信息中就要有提示接收方開始接收的信息,如開始位,結束時有停止位。而同步就是接收端要按照發送端所發送的每個碼元的起止時刻和重復頻率來接收數據,兩者時間上必須取得一致。
2、C#TCP非同步伺服器和客戶端咋連接?
TCP伺服器端的客戶端使用的方法不一樣,伺服器被叫,客戶端主叫。伺服器程序,設定一個埠用於客戶端呼叫連接,聲明一個socket綁定到這個埠,偵聽客戶端呼叫即可。客戶端聲明一個socket,通過客戶端socket對伺服器指定埠發出連接請求(主叫),伺服器相應此連接請求,建立連接,然後就可以互相通訊了。
伺服器和客戶端,就是在主叫與被叫上有區別,建立連接後,數據的收發都是一樣的。
3、如何關閉非同步socket伺服器
這個異常應該不是關閉引起的吧,按照異常信息來看,應該是你的數據發送代碼出了問題。意思是此時並沒有Socket客戶端與你的主機端建立連接,你發送的數據被堵塞了。
4、「同步」和「非同步」分別指的是什麼?
同步:發送一個請求,等待返回,然後再發送下一個請求
非同步:發送一個請求,不等待返回,隨時可以再發送下一個請求
同步可以避免出現死鎖,讀臟數據的發生,一般共享某一資源的時候用,如果每個人都有修改許可權,同時修改一個文件,有可能使一個人讀取另一個人已經刪除的內容,就會出錯,同步就會按順序來修改。
非同步則是可以提高效率了,現在cpu都是雙核,四核,非同步處理的話可以同時做多項工作,當然必須保證是可以並發處理的。
這些都是對的。
同步和非同步最大的區別就在於。一個需要等待,一個不需要等待。
比如廣播,就是一個非同步例子。發起者不關心接收者的狀態。不需要等待接收者的返回信息
電話,就是一個同步例子。發起者需要等待接收者,接通電話後,通信才開始。需要等待接收者的返回信息
求採納
5、hsf非同步伺服器超時是什麼意思
hsf非同步伺服器超時的意思是:
1、手機或者電腦的運行問題。
2、內存不夠,所以導致接收不到新的信息。
3、下載的軟體與伺服器不兼容。
4、手機、電腦上的日期或者時間不對。
5、軟體的伺服器出現問題。
6、是否非同步/等待著影響TCP伺服器的性能
是的。同步意味著,處理事情是按照先進先出的原則進行,如果前面的事情有需要等待的情況,系統會卡死。
非同步,在等待時可以去處理其他的事情,等前邊的事情有反饋了,再回來處理。
因此,非同步能大幅提高伺服器的響應速度。
7、非同步tcp伺服器關閉時報錯怎麼處理
剛接觸TCP/IP通信設計的人根據範例可以很快編出一個通信程序,據此一些人可能會認為TCP/IP編程很簡單(就比如我)。其實不然,TCP/IP編程具有較為豐富的內容。其編程的豐富性主要體現在通信方式和報文格式的多樣性上。一。通信方式主要有以下三大類:(一)SERVER/CLIENT方式1.一個Client方連接一個Server方,或稱點對點(peertopeer):2.多個Client方連接一個Server方,這也是通常的並發伺服器方式。3.一個Client方連接多個Server方,這種方式很少見,主要用於一個客戶向多個伺服器發送請求情況。(二)連接方式1.長連接Client方與Server方先建立通訊連接,連接建立後不斷開,然後再進行報文發送和接收。這種方式下由於通訊連接一直存在,可以用下面命令查看連接是否建立:netstat–finet|grep埠號(如5678)。此種方式常用於點對點通訊。2.短連接Client方與Server每進行一次報文收發交易時才進行通訊連接,交易完畢後立即斷開連接。此種方式常用於一點對多點通訊,比如多個Client連接一個Server.(三)發送接收方式1.非同步報文發送和接收是分開的,相互獨立的,互不影響。這種方式又分兩種情況:(1)非同步雙工:接收和發送在同一個程序中,有兩個不同的子進程分別負責發送和接收(2)非同步單工:接收和發送是用兩個不同的程序來完成。2.同步報文發送和接收是同步進行,既報文發送後等待接收返回報文。同步方式一般需要考慮超時問題,即報文發上去後不能無限等待,需要設定超時時間,超過該時間發送方不再等待讀返回報文,直接通知超時返回。實際通信方式是這三類通信方式的組合。比如一般書上提供的TCP/IP范常式序大都是同步短連接的SERVER/CLIENT程序。有的組合是基本不用的,比較常用的有價值的組合是以下幾種:同步短連接Server/Client同步長連接Server/Client非同步短連接Server/Client非同步長連接雙工Server/Client非同步長連接單工Server/Client其中非同步長連接雙工是最為復雜的一種通信方式,有時候經常會出現在不同銀行或不同城市之間的兩套系統之間的通信。比如金卡工程。由於這幾種通信方式比較固定,所以可以預先編制這幾種通信方式的模板程序。二.報文格式通信報文格式多樣性,相應地就必須設計對應的讀寫報文的接收和發送報文函數。(一)阻塞與非阻塞方式 1.非阻塞方式讀函數不停地進行讀動作,如果沒有報文接收到,等待一段時間後超時返回,這種情況一般需要指定超時時間。2.阻塞方式如果沒有報文接收到,則讀函數一直處於等待狀態,直到有報文到達。(二)循環讀寫方式1.一次直接讀寫報文在一次接收或發送報文動作中一次性不加分別地全部讀取或全部發送報文位元組。2.不指定長度循環讀寫這一般發生在短連接進程中,受網路路由等限制,一次較長的報文可能在網路傳輸過程中被分解成了好幾個包。一次讀取可能不能全部讀完一次報文,這就需要循環讀報文,直到讀完為止。3.帶長度報文頭循環讀寫這種情況一般是在長連接進程中,由於在長連接中沒有條件能夠判斷循環讀寫什麼時候結束,所以必須要加長度報文頭。讀函數先是讀取報文頭的長度,再根據這個長度去讀報文.實際情況中,報頭的碼制格式還經常不一樣,如果是非ASCII碼的報文頭,還必須轉換成ASCII,常見的報文頭碼制有:(1)n個位元組的ASCII碼(2)n個位元組的BCD碼(3)n個位元組的網路整型碼以上是幾種比較典型的讀寫報文方式,可以與通信方式模板一起預先提供一些典型的API讀寫函數。當然在實際問題中,可能還必須編寫與對方報文格式配套的讀寫API.
8、hsf非同步伺服器超時是什麼意思?
hsf非同步伺服器超時的意思是:
1、手機或者電腦的運行問題。
2、內存不夠,所以導致接收不到新的信息。
3、下載的軟體與伺服器不兼容。
4、手機、電腦上的日期或者時間不對。
5、軟體的伺服器出現問題。
9、多線程和非同步哪一個開發開發伺服器更好?
關於編程問題,勸你還是不要在百度知道里尋找答案了,推薦你用CSDN,China software development network。專業的IT社區。
10、非同步和同步的區別?
同步很好理解,就是和比較對象的步伐完全一致。
知道同步的概念了,非同步就是異於同步,步伐不一致了,也許快,也可能慢。