C 開啟HTTP監聽服務與執行緒數量控制

2021-08-21 10:58:23 字數 3551 閱讀 8921

如何開ip和埠的http監聽這裡就是按照實現這種方式來加以說明,另外執行緒不要再迴圈裡面不停的new thread()這樣很耗效能。

開啟http服務監聽

/// /// 啟動httpservice監聽

}/// /// 執行緒處理http請求方法

}}

啟動start方法即可。

控制線程數量

控制線程的數量可以有效提高系統效能,最簡單的方式就是開啟乙個執行緒來處理一類業務,將自己的需要處理的加到乙個集合中用執行緒去處理:

service service = new service();

service.context = context;

service.validator = validator;

string key = validator.platecode + "." + validator.platecolor + "." + validator.channel + "." + validator.datatype;

dictionaryservice.add(key, service);

dictionarytime.add(key, datetime.now);

執行業務處理:

}/// /// 業務執行緒執行方法

///

void servicethd()

}else

}thread.sleep(1000);

}catch (exception ex)}}

/// /// 執行業務處理方法

}這裡我們應該注意到,我們會啟動這個執行緒,前面http服務啟動中有,**如下:

m_service_thread = new thread(servicethd);

m_service_thread.name = "servicethd";

m_service_thread.isbackground = true;

m_service_thread.start();

注意:**的規範性和簡潔,才能保證優質的服務。

要記得操作list和dictionary加鎖,以下是示例**:

}/// /// 執行緒處理http請求方法

// 解碼ascii引數

解碼utf8引數

//param = encoding.utf8.getstring(encoding.default.getbytes(param.tostring()));

int index = param.lastindexof("/");

param = param.substring(index, param.length - index);

// 替換"/"

param = param.replace("/", "");

// 預解析

}/// /// 業務執行緒執行方法

///

void servicethd()}}

else}}

thread.sleep(1000);

}catch (exception ex)}}

/// /// 執行業務處理方法

C 監聽HTTP請求

先把 放在這裡,下面再詳細解說 using newtonsoft.json using newtonsoft.json.linq using oracle.dataaccess.client using system using system.collections using system.col...

c 監聽埠 解析http請求

console控制台程式監聽本地伺服器端口,解析http請求 using bankprocess using newtonsoft.json using system using system.configuration using system.io using system.net using ...

oracle監聽與服務詳解

listener.ora,sqlnet.ora,tnsnames.ora 客戶端訪問順序是這樣的通過ip 埠找到oracle,oralce去檢視是否有監聽檔案,有訪問通了,沒有則報錯沒有監聽。這期間只用到了乙個配置就是 listener.ora sqlnet.ora一般不用改什麼就預設就好 list...