所以這裏是我的場景: 我從一個套接字讀取並根據數據包上的內容將數據包放入適當的隊列中。所以如果我有10個隊列,將會有10個if-else -ifs或10個switch語句來選擇合適的隊列。所以,最多可以進行10次比較。Unithreaded設計或多線程設計?
另一種方法可以要求廣播公司/服務器在10個不同的端口上廣播,每個端口的饋送將爲單個特定的隊列提供數據包,在我的一端,我可以通過一個專門的線程監聽每個套接字(或者我如果某些端口上的流量較少/不一致,則可以使用線程池)。所以現在我不必選擇數據包屬於哪個隊列,但是現在引入了錐形切換的現象。
從這裏我的智力和技術知識阻止我走得更遠。 任何有關哪種方法的性能更好?
這是一個UDP問題嗎?如果是這樣,你讀取數據報,而不是數據包。 –
如果使用線程,你是否使用C++ 11,因爲它們讓它變得很容易! –
@編碼Mash謝謝,但我該怎麼做 –