ʵÏÖÒ»¸ö¼òµ¥µÄlinuxÏ̳߳Ø
Ï̳߳أº¼òµ¥µØËµ£¬Ïß³Ì³Ø ¾ÍÊÇÔ¤ÏÈ´´½¨ºÃÒ»ÅúỊ̈߳¬·½±ã¡¢¿ìËٵش¦ÀíÊÕµ½µÄÒµÎñ¡£±ÈÆð´«Í³µÄµ½À´Ò»¸öÈÎÎñ£¬¼´Ê±´´½¨Ò»¸öÏß³ÌÀ´´¦Àí£¬½ÚÊ¡ÁËÏ̵߳Ĵ´½¨ºÍ»ØÊյĿªÏú£¬ÏìÓ¦¸ü¿ì£¬Ð§Âʸü¸ß¡£
ÔÚlinuxÖУ¬Ê¹ÓõÄÊÇposixÏ߳̿⣬Ê×ÏȽéÉܼ¸¸ö³£Óõĺ¯Êý£º
1 Ï̵߳Ĵ´½¨ºÍÈ¡Ïûº¯Êý
pthread_create
´´½¨Ïß³Ì
pthread_join
ºÏ²¢Ïß³Ì
pthread_cancel
È¡ÏûÏß³Ì
2 Ïß³Ìͬ²½º¯Êý
pthread_mutex_lock
pthread_mutex_unlock
pthread_cond_signal
pthread_cond_wait
¹ØÓÚº¯ÊýµÄÏêϸ˵Ã÷£¬²Î¿¼manÊÖ²á
Ï̳߳صÄʵÏÖ£º
Ï̳߳صÄʵÏÖÖ÷Òª·ÖΪÈý²¿·Ö£¬Ï̵߳Ĵ´½¨¡¢Ìí¼ÓÈÎÎñµ½Ï̳߳ØÖС¢¹¤×÷Ï̴߳ÓÈÎÎñ¶ÓÁÐÖÐÈ¡³öÈÎÎñ½øÐд¦Àí¡£
Ö÷ÒªÓÐÁ½¸öÀàÀ´ÊµÏÖ£¬CTask,CThreadPool
/**
Ö´ÐÐÈÎÎñµÄÀ࣬ÉèÖÃÈÎÎñÊý¾Ý²¢Ö´ÐÐ
**/
class CTask
{
protected:
string m_strTaskName; //ÈÎÎñµÄÃû³Æ
void* m_ptrData; //ÒªÖ´ÐеÄÈÎÎñµÄ¾ßÌåÊý¾Ý
public:
CTask(){}
CTask(string taskName)
{
this->m_strTaskName = taskName;
m_ptrData = NULL;
}
virtual int Run()= 0;
void SetData(void* data); //ÉèÖÃÈÎÎñÊý¾Ý
};
ÈÎÎñÀàÊǸöÐéÀ࣬ËùÓеÄÈÎÎñÒª´ÓCTaskÀàÖм̳Р£¬ÊµÏÖrun½Ó¿Ú£¬run½Ó¿ÚÖÐÐèҪʵÏֵľÍÊǾßÌå½âÎöÈÎÎñµÄÂß¼¡£m_ptrDataÊÇÖ¸ÏòÈÎÎñÊý¾ÝµÄÖ¸Õ룬¿ÉÒÔÊǼòµ¥Êý¾ÝÀàÐÍ£¬Ò²¿ÉÒÔÊÇ×Ô¶¨ÒåµÄ¸´ÔÓÊý¾ÝÀàÐÍ¡£
Ï̳߳ØÀà
/**
Ï̳߳Ø
**/
class CThreadPool
{
private:
vector<CTask*> m_vecTaskList; //ÈÎÎñÁбí
int m_iThreadNum; //Ï̳߳ØÖÐÆô¶¯µÄÏß³ÌÊý
static vector<pthread_t> m_vecIdleThread; //µ±Ç°¿ÕÏеÄÏ̼߳¯ºÏ
static vector<pthread_t> m_vecBusyThread; //µ±Ç°ÕýÔÚÖ´ÐеÄÏ̼߳¯ºÏ
static pthread_mutex_t m_pthreadMutex; //Ïß³Ìͬ²½Ëø
static pthread_cond_t m_pt
Ïà¹ØÎĵµ£º
WindowsÓëLinuxÖеĻ»ÐÐÊDz»Ò»ÑùµÄ£¬ÒѾÓöµ½¹ýºÃ¼¸´ÎÎÊÌâÁË¡«ÅúÁ¿Ð½¨Óû§µÄʱºò£¬ÐÂÓû§²»ÄܵǼ£¬ÒòΪÎÒµÄÎı¾ÊÇÔÚWindowsÏÂÉú³ÉµÄ£¬»»ÐÐÊÇWindows¸ñʽ£¬¶øLinuxÖÐʹÓÃnewusersÃüÁîµ¼Èëµ½passwdÎļþ£¬ÊÇÖ±½Ó¸´ÖƹýÈ¥µÄ¡«²»ÄÜÒ»ÐÐÒ»Ðеĸİ¡¡«ºÇºÇ£¬¸Õ¸Õѧµ½ÁËÒ»ÕС£
×Ö·ûÎļþÔÚÁ½¸öϵͳ֮¼ä¿½±´Ö®ºó£¬¿ÉÒÔʹÓÃdos2unix» ......
²»ÖªµÀÔÚʲçÛʱºò£¬×ªÔØLinux ³öÏÖÁË module ÕâÖÖ¶«Î÷£¬µÄÈ·£¬ËüÊÇ Linux µÄÒ»´ó¸ïС£ÓÐÁË module Ö®ºó£¬Ð´
device driver ²»ÔÙÊÇÒ»Ïî¶ñÃΣ¬ÐÞ¸Ä kernel Ò²²»ÔÙÊÇÒ»¼þÍ´¿àµÄÊÂÁË¡£ÒòΪÄã²»ÐèҪÿ´ÎÒª²âÊÔ driver ¾ÍÖØÐÂ
compile kernel Ò»´Î¡£ÄǼòÖ±ÊÇ»áÀÛËÀÈË¡£Module ¿ÉÒÔÔÊÐíÎÒÃǶ¯Ì¬µÄ¸Ä±ä kernel£¬¼ÓÔØ device
dri ......
µÚÊ®¶þÕ Îļþ¹ÜÀí¼°LinuxʵÏÖÎÊÓë´ð
12.1 ʲôÊÇÎļþ£¿Ëü°üº¬ÄÄЩÄÚÈÝ£¿ÓÐÊ²Ã´ÌØµã£¿
´ð£ºÎļþÊÇÐÅÏ¢µÄÒ»ÖÖ×éÖ¯ÐÎʽ£¬ÊÇ´æ´¢ÔÚÍâ´æÉϵľßÓбêʶÃûµÄÒ»×éÏà¹ØÐÅÏ¢¼¯ºÏ¡£Îļþ°üº¬µÄÄÚÈÝÓУºÔ´³ÌÐò¡¢¶þ½øÖÆ´úÂë¡¢Îı¾Îĵµ¡¢Êý¾Ý¡¢±í¸ñ¡¢ÉùÒôºÍͼÏóµÈ¡£
Îļþ¾ßÓеÄÌØµãÈçÏ£º
¢Ù Îļþ¾ßÓб£´æÐÔ£¬Ëü±»´æ´¢ÔÚijÖÖ ......
ÈçºÎʵÏÖLinuxÓëwindowsµÄÎļþ´«Ê䣿
2007Äê05ÔÂ22ÈÕ ÐÇÆÚ¶þ 20:54
¡¡Ò»£®¸ÅÊö ¡¡¡¡
¡¡¡¡±¾ÎĽ²ÊöÁËÔÚLinuxÖ÷»úÓëwindowsÖ÷»úÖ®¼äÈçºÎ»¥´«ÎļþµÄ·½·¨¡£ÒòΪÓеÄʱºò£¬linuxÖ÷»úÖеÄһЩÎļþ¿ÉÄÜ»áÔÚwindows»·¾³ÏÂÓõ½¡£ÀýÈçÔÚlinuxÖ÷»úÖÐ×¥ÁËһЩͼƬ£¬Ïë°ÑËüÃÇ´«µ½windowsÖ÷»úÉÏÒÔ×÷ΪwordÎĵµµÄ²åͼ¡£ÓÖ»òÕß´ÓWindows ......
linux ³£ÓÃÃüÁî×ܽá:
Ò»¡£ ͨÓÃÃüÁî:
1. date £ºprint or set the system date and time
2. stty -a: ¿ÉÒԲ鿴»òÕß´òÓ¡¿ØÖÆ×Ö·û(Ctrl-C, Ctrl-D, Ctrl-ZµÈ)
3. passwd: print or set the system date and time (ÓÃpasswd -h²é¿´)
4. logout, login: µÇ¼shellµÄµÇ¼ºÍ×¢ÏúÃüÁî
5. pwd: print or set the system ......