socketthread.cpp

来自「线程池+socket」· C++ 代码 · 共 49 行

CPP
49
字号
/************************************************************** * SocketThread.cpp : implementation file * Copyright 2004-2005 TianMuLingHang * All rights reserved. * Author: Zeng Wenchuan * Date:   Jan 9, 2005 * Modify:  * Date:
 * Email:  zeng_aven@163.com
 * Site:   http://zeng_aven.go.nease.net/ *************************************************************/
#include "SocketThread.h"
#include "SocketBase.h"

CSocketThread::CSocketThread() : 
	m_pSocket(NULL), m_pThreadPool(NULL)
{
}

CSocketThread::~CSocketThread()
{
}

void CSocketThread::Run()
{
	SocketThread();
}

void CSocketThread::SocketThread()
{
	for (;;)
	{
		pthread_mutex_lock(&m_mutex);
		pthread_cond_wait(&m_cond, &m_mutex);
		
		m_pSocket->SelectMsg();
		
		m_pThreadPool->MoveToIdleList(this);	
		SetState(Thread_Idle);
		pthread_mutex_unlock(&m_mutex);
	}
}

void CSocketThread::SetNewSocket(CSocketBase *pSocket)
{
	m_pSocket = pSocket;
	Wakeup();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?