linux c/c++ネットワークプログラミング-スレッドプールモデル

1063 ワード

1.ネットワークプログラミングはプログラマーが身につけなければならない技能であり、特にc/c++プログラマーは身につけなければならないが、実際の応用では、ほとんどのネットワークプログラムが単一接続であることは不可能である.マルチスレッドモデルは相対的に少なく、マルチプロセスモデルの実際の使用は確かに少なく、プロセス間の通信とデータ共有はあまり便利ではありませんが、マルチスレッドモデルは小さな接続数で、特に内部通信にはメリットがあり、マルチコアの優位性を利用することができ、開発も簡単で、メンテナンスが容易です.
 
マルチスレッドモデルはいくつかのクラスに分けられ、1つは接続して1つのスレッドを開くことであり、2つはまずNつのスレッドを開くことであり、接続するクライアントプログラム、すなわち通常のスレッドプールを同時に傍受することであり、スレッドプールはスレッドの作成と破棄の代価を減らすことができる.
次は私が自分で書いたマルチスレッドechoサービスエンドプログラムで、データ処理部分がなく、受信したクライアントデータを対応するクライアントに返すだけです.
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;

int thread_count = 0;
void *word_thread(void *p);
int main(int argc, char*argv[])
{	
	int port = 0;
	if (argc != 3)
	{
	    cout<