LinuxϵÄÖ÷¶¯¶ÔÏóÀàµÄʵÏÖ
#pragma once
#include <pthread.h>
class ThreadWrapper
{
public:
virtual ~ThreadWrapper();
static void EnterFunc(void *p);
int Open();
int Close();
bool TestCancel();
void Wait();
virtual void Svc();
protected:
ThreadWrapper();
private:
bool m_stillOpen;
int m_threadNum;
pthread_t m_handle;
};
*************************************************
#include "ThreadWrapper.h"
ThreadWrapper::ThreadWrapper()
: m_stillOpen(false)
{}
ThreadWrapper::~ThreadWrapper()
{
if(m_stillOpen)
{
Close();
Wait();
}
}
/*
Functional: The enter function of the thread.
*/
void ThreadWrapper::EnterFunc (void *p)
{
ThreadWrapper* bp = static_cast <ThreadWrapper*> (p);
bp->Svc();
}
/*
Functional: Create the thread.
*/
int ThreadWrapper::Open ()
{
m_threadNum = threadNum;
int ret = pthread_create(&m_handle, NULL, EnterFunc, this);
if (ret != 0)
{
return -1;
}
m_stillOpen = true;
return 0;
}
int ThreadWrapper::Close()
{
pthread_cancel(m_handle);
m_stillOpen = false;
return 1;
}
void ThreadWrapper::TestCancel()
{
pthread_testcancel();
}
void ThreadWrapper::Wait()
{
pthread_join(m_handle, NULL);
m_stillOpen = false;
}
void ThreadWrapper::Svc()
{}
´ËÖ÷¶¯¶ÔÏóµÄÓ÷¨ÈçÏÂ:
1£ºÏȶ¨ÒåÖ÷¶¯¶ÔÏóÀ࣬ÅÉÉú×ÔThreadWrapper¼´¿É£¬È»ºóʵÏÖSvc()Ðé·½·¨
cla
Ïà¹ØÎĵµ£º
ÑîɳÖÞ (pubb@163.net)¹ú·À¿Æ¼¼´óѧ¼ÆËã»úѧԺ
2003 Äê 5 ÔÂ 19 ÈÕ
×Ô´Ó¶àÏ̱߳à³ÌµÄ¸ÅÄî³öÏÖÔÚ Linux ÖÐÒÔÀ´£¬Linux ¶àÏßÓ¦Óõķ¢Õ¹×ÜÊÇÓëÁ½¸öÎÊÌâÍѲ»¿ª¸Éϵ£º¼æÈÝÐÔ¡¢Ð§ÂÊ¡£±¾ÎÄ´ÓÏß³ÌÄ£ÐÍÈëÊÖ£¬Í¨¹ý·ÖÎöÄ¿Ç° Linux ƽ̨ÉÏ×îÁ÷ÐÐµÄ LinuxThreads Ï߳̿âµÄʵÏÖ¼°Æä²»×㣬ÃèÊöÁË Linux ÉçÇøÊÇÈçºÎ¿´´ýºÍ½â¾ö¼æÈÝÐÔºÍЧÂÊ ......
ŪÇå³þ»ï°éϵͳËã·¨µÄÔÀíÒÔºó£¬ÎÒÃǾͿÉÒÔ¿ª¿ªÐÄÐĵش¦ÀíÒ³¿òÁË¡£
ÎÒÃÇ¿ÉÒÔͨ¹ý6¸öÉÔÓвî±ðµÄº¯ÊýºÍºêÇëÇóÒ³¿ò¡£Ò»°ãÇé¿öÏ£¬ËûÃǶ¼·µ»ØµÚÒ»¸öËù·ÖÅäÒ³µÄÏßÐÔµØÖ·£¬»òÕß·ÖÅäʧ°ÜÔò·µ»ØNULL¡£
alloc_pages(gfp_mask, order)£ºÓÃÕâ¸öº¯ÊýÇëÇó2order ¸öÁ¬ÐøµÄÒ³¿ò¡£Ëû·µ»ØµÚÒ»¸öËù·ÖÅäÒ³¿òÃèÊö·ûµÄµØÖ·£¬»òÕßÈç¹ûʧ°Ü£¬Ôò·µ ......
½ñÌ죬ÎÒÏëÔÚLinuxÏÂÅäÖÃһ̨DHCP·þÎñÆ÷£¬¸Ð¾õÉϱȽÏÖ±¹Û£¬ÄѶÈÉÔ΢Óеã´ó£¨Ïà¶ÔÓÚÔÚwindows¼°Â·ÓÉÆ÷Ï£©¡£
DHCP£¨Dynamic Host Configure Protocol,¶¯Ì¬Ö÷»úÅäÖÃÎļþ£©£¬ÊÇÒ»¸ö¼ò»¯ÊÖ¶¯·ÖÅä¼°¹ÜÀíIPµØÖ·µÄ·³ÄÕ¡£DHCPÊÇ»ùÓÚC/SģʽµÄ¡£
ĬÈÏ£¬ÔÚRHELÉÏûÓа²×°·þÎñÆ÷×é¼þ¡£²é¿´ÊÇ·ñ°²×°µÄÃüÁî
[root@localhost ~]# rpm - ......
ÿһÖÖÌõ¼þÓï¾äµÄ»ù´¡¶¼ÊÇÅжÏʲôÊÇÕæʲôÊǼ١£ÊÇ·ñÁ˽âÆ乤×÷ÔÀí½«¾ö¶¨Äú±àдµÄÊÇÖÊÁ¿Ò»°ãµÄ½Å±¾»¹ÊÇÄú½«ÒýÒÔΪÈٵĽű¾¡£
Shell ½Å±¾µÄÄÜÁ¦Ê±³£±»µÍ¹À£¬µ«Êµ¼ÊÉÏÆäÄÜÁ¦µÄ·¢»ÓÊÜÖÆÓڽű¾×«Ð´ÕßµÄÄÜÁ¦¡£ÄúÁ˽âµÃÔ½¶à£¬Äú¾ÍÔ½ÄÜÏñ±äÏ··¨ËƵØ׫дһ¸öÎļþÀ´Ê¹ÈÎÎñ×Ô¶¯»¯ºÍ¼ò»¯ÄúµÄ¹ÜÀí¹¤×÷¡£
ÔÚ shell ½Å±¾ÖнøÐеÄÃ¿Ò»Ö ......