Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux api±Ê¼Ç£¨3£©£ºỊ̈߳¨Ò»£©

±¾ÎÄÖн«½²Êölinux»·¾³±à³ÌÖÐÏ̵߳ÄʹÓᣲ»Ëµ·Ï»°Ö±½ÓÉÏ´úÂ룺
#include <pthread.h>
#include <assert.h>
struct ThreadData
{
int i;
};
void * ThreadProc(void* arg)
{
ThreadData* data = static_cast<ThreadData*>(arg);
//do something

pthread_exit(data);
}
int main()
{
pthread_t thread_handle = 0;

ThreadData *data = new ThreadData;
//create thread
pthread_create(&thread_handle, NULL, ThreadProc, data);
//wait the created thread finished
ThreadData * out_data = NULL;
pthread_join(thread_handle, (void**)&out_data);
assert(out_data == data);
delete (out_data);
return 0;
}
ÉÏÃæµÄ´úÂëÖ÷ÒªÓÐ3¸öÏ̲߳Ù×÷µÄϵͳµ÷Óã¬Ò»°ãÇé¿öÏÂÕâ3¸ö¾Í¹»ÎÒÃÇÓÃÁË¡£
pthread_create£º´´½¨Ï̡߳£µÚÒ»¸ö²ÎÊýÊÇout²ÎÊý£¬ËüÊä³öÁË´´½¨ºÃµÄÏ̵߳Ä
±êÖ¾·û-Ïß³ÌID¡£µÚ¶þ²ÎÊýÊÇÓÃÀ´ÉèÖÃÏ̵߳ÄÊôÐԵģ¬ºóÃæ»áÓн²½â¡£µÚÈý¸ö²ÎÊýÊÇ
Ò»¸öº¯ÊýÖ¸Õ룬Õâ¸öÖ¸ÕëÖ¸ÏòµÄº¯ÊýÔÚÏ̴߳´½¨³É¹¦Ö®ºóÔÙеÄÏß³ÌÖÐÖ´ÐС£µÚËĸö
²ÎÊýÊÇÒ»¸öÖ¸Õ룬Õâ¸öÖ¸ÕëÔÚµÚÈý¸ö²ÎÊýÖ¸ÏòµÄº¯ÊýÖ´ÐÐʱ´«ÈëÕâ¸öº¯ÊýÖС£
pthread_exit£ºÔÚÏß³ÌÍ˳ö֮ǰʹÓã¬Õâ¸öº¯ÊýÓÐÒ»¸ö²ÎÊý£¬ÊÇÖ¸Õ룬Õâ¸öÖ¸Õë
ÔÚpthread_joinµÄʱºò½«±»ÊÕµ½¡£Õâ¸öº¯Êý±ØÐëÔÚÏß³ÌÄÚ²¿Ê¹Óã¨ÆäʵÎÒÃÇÖ»Òª¿´µ½
ËüûÓÐpthread_tÀàÐ͵IJÎÊýÎÒÃǾÍÖªµÀÖ»ÄÜÔÚÏß³ÌÄÚʹÓã©¡£
pthread_join£ºµÚÒ»¸ö²ÎÊýÊÇpthread_t£¬ËµÃ÷Õâ¸öº¯Êý²»ÊÇÔÚ¶ÔÓ¦µÄÏß³ÌÄÚʹÓÃ
µÄ¡£ÔÚµ÷ÓÃÕâ¸öº¯Êýºó£¬µ÷ÓÃÕߣ¨Ä³¸öỊ̈߳©½«±»×èÈû£¬²¢ÇÒÒ»Ö±µÈ´ý£¬Ö±µ½µÚÒ»¸ö²ÎÊý
¶ÔÓ¦µÄÏß³ÌÖÐÖ¹£¬¶ÔÓ¦Ïß³ÌÖÕÖ¹Ö®ºóÕâ¸öº¯Êý½«·µ»Ø¡£pthread_joinµÄµÚ¶þ¸ö²ÎÊýÊÇÒ»¸ö
Ö¸ÕëµÄÖ¸ÕëÀàÐÍ£¬out²ÎÊý£¬º¯Êý½áÊøºóËüÖ¸ÏòÁËpthread_exitº¯ÊýÊäÈëµÄµÚ¶þ¸ö²ÎÊý¡£
±¾ÎÄÖнéÉܵÄ3¸öº¯ÊýµÄʹÓÃÆäʵÊÇһЩ×î»ù±¾µÄʹÓã¬ÆäÖв¢Ã»ÓÐÉæ¼°µ½Ò»Ð©Ï¸½Ú
ºÍ×¢ÒâÊÂÏºóÃæµÄÎÄÕÂÖÐÎÒ»á½áºÏmanÊÖ²áÂ½Ðø²¹ÉÏ¡£


Ïà¹ØÎĵµ£º

linuxÏÂTC+HTBÁ÷Á¿¿ØÖÆ


C¹æÔòÉæ¼°µ½ ¶ÓÁÐ(QUEUE) ·ÖÀàÆ÷(CLASS) ¹ýÂËÆ÷£¨FILTER£©,filter»®·ÖµÄ±ê־λ¿ÉÓÃU32»òiptablesµÄset-markÀ´ÊµÏÖ ) Ò»°ãÊÇ"¿Ø·¢"²»¿ØÊÕ linuxÏÂÓÐÁ½¿éÍø¿¨,Ò»¸öeth1ÊÇÍâÍø,ÁíÒ»¿éeth0ÊÇÄÚÍø.ÔÚeth0ÉÏ×öHTB¡££¨×¢Ò⣺filter»®·Ö±ê־λ¿ÉÓÃu32´ò±ê¹¦ÄÜ»òiptablesµÄset-mark¹¦ÄÜ£¬Èç¹ûÓÃiptablesÀ´´ò±ê¼ÇµÄ»°£¬ÏÂÐÐËÙLVÔÚet ......

LinuxÖа²×°PHP 5½Ì³Ì

µÚÒ»²½ °²×°MySQL
[root@localhost usr]# groupadd mysql
[root@localhost usr]# useradd -g mysql mysql
[root@localhost usr]# cd /usr/local
[root@localhost local]# tar -zxvf mysql-5.0.51.tar.gz
[root@localhost local]# cd mysql-5.0.51
[root@localhost mysql-5.0.51# ./configure --prefix=/usr/local/my ......

[ת]linuxÐźÅÁ¿µÄʵÏÖ

Ô­ÎĵØÖ·£ºhttp://blog.sina.com.cn/s/blog_460b9cbf0100gxtv.html
ҪʹÓÃÐźÅÁ¿£¬Äں˴úÂë±ØÐë°üÀ¨<asm/semaphore.h>¡£Ïà¹ØµÄÀàÐÍÊÇstruct semaphore£»Êµ¼ÊµÄÐźÅÁ¿¿Éͨ¹ý¼¸ÖÖ;¾¶À´ÉùÃ÷ºÍ³õʼ»¯¡£ÆäÖÐÖ®Ò»ÊÇÖ±½Ó´´½¨ÐźÅÁ¿£¬Õâͨ¹ýsema_initÍê³É£º
viod sema_init(struct semaphore *sem,int val);
ÆäÖÐvalÊǸ³Ó ......

¸ÃÈçºÎÐÞ¸´linuxÒýµ¼ÄØ£¿ÔÚ´Ó×°xpºó£¿

¸ÃÈçºÎÐÞ
¸´linuxÒýµ¼ÄØ£¿ÔÚ´Ó×°xpºó£¿ÎÒ·ÖÏíÒ»ÏÂÎҵľ­Ñ飺ÎÒÊÇÓùâÅ̰²×°ºìÆì6.0µÄ£¬Ê×ÏȽ«¹âÅÌ·ÅÈë¹âÇý£¬ÏÖÔڵĵçÄÔÒ»°ã¶¼Ö§³Ö´Ó¹âÇýÆô¶¯£¬È»ºóÖØÆôµç
ÄÔÕâʱ»á³öÏÖºìÆìµÄ°²×°½çÃæ£¬ÏÂÃæ»¹ÓÐboot£ºµÄ×ÖÑùÕâʱ£¬ÎÒ°´f5£¬½øÈëlinux
rescue½çÃæ¾ÍÊÇlinuxÐÞ¸´½çÃæ£¬½Ó×Ű´»Ø³µ¼ü£¬¾Í»á½øÈëºÍ¿ªÊ¼°²×°½çÃæÒ»ÑùµÄ½çÃæ£¬
......

ǶÈëʽlinux²Î¿¼×ÊÁÏ

ǶÈëʽLinux¿ª·¢ÐèÒªµÄ²Î¿¼×ÊÁÏ
×÷Õߣº ¡¡À´Ô´ÓÚ£º ¡¡·¢²¼Ê±¼ä£º2008-10-6 20:45:00



Òýµ¼£º
ÈçÐè»ñµÃ¶Ô
vmlinux
ºÍ
zimage
Ö®¼äÇø±ðµÄ¼«ºÃ½âÊÍ£¬ÇëÔÚ
Alessandro Rubini
±àдµÄ

Kernel Configuration: dealing with the unexpected
£¨
Linux Magazine
£©µÄÒ»ÎÄÖÐÕÒµ½
&ld ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ