freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于多核編程的案例分析(已修改)

2024-10-15 10:42 本頁面
 

【正文】 基于多核編程的案例分析 多核架構(gòu)及編程技術(shù) 基于多核編程的案例分析 ? .NET環(huán)境下,多線程 TCP服務(wù)案例 ? C/S模式下多媒體 socket通信( MFC) ( PC - Embedded Platform) .NET環(huán)境下,多線程 TCP服務(wù) ? 多線程客戶端連接處理 ? 對多個客戶端連接采用線程安全收集對象進(jìn)行集中管理。 ? 回收垃圾線程 ? 工具: – Microsoft .NET Framework SDK – C – C Complier ? 包含文件: 可以從課程網(wǎng)站上 下載源代碼 TCP類 using 。 //namespace TcpListener listener = new TcpListener(portNum)。 ()。 TcpClient handler = ()。 int i = ( new ClientHandler(handler) ) 。 ((ClientHandler) ClientSockets[i]).Start() 。 客戶端 Socket處理線程 客戶端連接 實例集 監(jiān)聽線程 回收線程 為每個已經(jīng)接收的連接產(chǎn)生一個線程 TCP客戶端請求 垃圾線程將被回收 允許 TCP服務(wù)接收客戶端的連接請求。 分別為每個請求產(chǎn)生一個線程實例。并啟動。 線程安全收集 ? 關(guān)于管理客戶端連接,特別是在主 TCP線程結(jié)束之前,回收垃圾線程的時候,用ArrayList作為線程安全的收集器。 private static ArrayList ClientSockets ; lock ( ) { int i = ( new ClientHandler(handler) ) 。 ((ClientHandler) ClientSockets[i]).Start() 。 } 線程同步 垃圾線程回收 ? 在典型的 TCP服務(wù)環(huán)境中,許多客戶端向服務(wù)端向服務(wù)器發(fā)起連接。而許多客戶端同時會斷了連接,此時這些斷了的連接還占有服務(wù)器端系統(tǒng)資源,應(yīng)該被釋放掉。如果沒有回收策略的話,服務(wù)器將很快超載。 ? 垃圾線程需要回收。 – 回收同時,需要注意線程同步。 垃圾線程回收方法 ThreadReclaim = new Thread( new ThreadStart(Reclaim) )。 () 。 private static void Reclaim() { while (ContinueReclaim) { lock( ) { for ( int x = 。 x = 0 。 x ) { Object Client = ClientSockets[x] 。 if ( !( ( ClientHandler ) Client ).Alive ) { ( Client ) 。 (A client left) 。 } } } (200) 。 } } 安全關(guān)閉服務(wù) ? 在關(guān)閉服務(wù)之前,應(yīng)該把所有的連接都關(guān)閉掉。 ContinueReclaim = false 。 () 。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1