LInux¶àÏ̱߳à³Ì¼¼Êõ×ܽá
Linux¶àÏ̱߳à³Ì¼¼Êõ×ܽá
1
¡¢Ï̵߳Ĵ´½¨¡¢ÖÕÖ¹¼°¿ØÖÆ£º
Èκνø³ÌÔÚÆô¶¯Ê±¾ÍÒÑÓÐÁËÒ»¸öÖ÷Ị̈߳¬Èç¹ûÐèÒªÔÙÉú³ÉÏß³ÌÔòʹÓÃ
pthread_create
º¯Êý£¬Ôڸú¯ÊýÖпÉÒÔÖ¸¶¨Ï̵߳ÄÊôÐÔ¡¢Ïß³ÌÀý³Ì¡¢´«¸øÏß³ÌÀý³ÌµÄ²ÎÊý¡£Ïß³ÌÀý³ÌÊÇÒ»¸öÓû§×Ô¶¨ÒåµÄº¯Êý£¬¼°Ïß³ÌÖ´ÐеĴúÂë¡£µ±Ïß³ÌÀý³Ì·µ»ØÊ±£¬Ïß³ÌÔò½áÊøÔËÐУ¬Ò²¿ÉÒÔÏÔʾµ÷ÓÃ
pthread_exit
À´Í˳ö¡£Ïß³ÌÔÚ´´½¨ºó¿ÉÒÔÓÃ
pthread_self
º¯Êý»ñÈ¡Ïß³Ì
ID
¡£º¯Êý
pthread_join
ʹµÃ½ø³ÌµÈ´ýÏ̵߳ÄÖÕÖ¹£¬µ÷ÓÃ
pthread_join
ºó½ø³Ì½«±»¹ÒÆð£¬Ö±µ½Ö¸¶¨µÄij¸öỊ̈߳¨ÔÚ
pthread_join
µÄ²ÎÊý
thread
ÖÐÖ¸¶¨£©ÖÕÖ¹¡£¶ø
pthread_detach
º¯ÊýÕýºÃÏà·´£¬ËüʹµÃ½ø³Ì²»±ØµÈ´ýÏ̵߳ĽáÊø£¬´Ó¶øÔÊÐí½ø³Ì¼ÌÐøÖ´ÐбðµÄ²Ù×÷£¬±»
detach
µÄÏß³ÌÔÚÖ´ÐнáÊøºóÆäÕ¼ÓõÄ×ÊÔ´ÓÉϵͳ×Ô¶¯Êջء£
2
¡¢Ï̼߳äµÄ»¥³â£º
»¥³â²Ù×÷
£¬¾ÍÊǶÔij¶Î´úÂë»òij¸ö±äÁ¿Ð޸ĵÄʱºòÖ»ÄÜÓÐÒ»¸öÏß³ÌÔÚÖ´ÐÐÕâ¶Î´úÂ룬ÆäËûÏ̲߳»ÄÜͬʱ½øÈëÕâ¶Î´úÂë»òͬʱÐ޸ıäÁ¿¡£
pthread
³£ÓÃ
pthread_mutex
»¥³âÌåÀ´ÊµÏÖÏ̻߳¥³â²Ù×÷¡£
pthread_mutex_init
º¯ÊýÓÃÓÚ³õʼ»¯Ò»¸ö»¥³âÌå±äÁ¿¡£
pthread_mutex_lock
º¯ÊýÓÃÓÚ¸ø»¥³âÌå±äÁ¿ÉÏËø£¬Èç¹ûÉÏËøÊ±»¥³âÌåÒѾ±»±»µÄÏß³ÌËø×¡ÁË£¬ÄÇôµ÷Óøú¯ÊýµÄÏ߳̽«±»×èÈûÖ±µ½»¥³âÌå±»½âËøÎªÖ¹¡£¶ø
pthread_mutex_trylock
ÔòÊÇÊÔÍ¼Ëø×¡»¥³âÌ壬µ«ÔÚ»¥³âÌåÒѾ±»¼ÓËøÊ±²»»áÔì³É×èÈû£¬¶øÊÇѸËÙ·µ»Ø¡£
pthread_mutex_unlock
º¯Êý¶Ô»¥³âÌå½âËø¡£
pthread_mutex_destroy
ÔòÓÃÀ´ÊÍ·Å»¥³âÌåËùÕ¼×ÊÔ´¡£
3
¡¢Ï̵߳Äͬ²½£º
ͬ²½¾ÍÊÇÈô¸É¸öÏ̵߳ȴýij¸öʼþµÄ·¢Éú£¬µ±¸Ãʼþ·¢Éúʱ£¬Ò»Æð¿ªÊ¼¼ÌÐøÖ´ÐС£ÔÚ
Linux
Ïß³ÌÖÐÓÃÌõ¼þ±äÁ¿À´ÊµÏÖͬ²½¡£º¯Êý
pthread_cond_init
ÓÃÀ´´´½¨Ò»¸öÌõ¼þ±äÁ¿¡£
pthread_cond_wait
ºÍ
pthread_cond_timewait
ÓÃÀ´µÈ´ýÌõ¼þ±äÁ¿±»ÉèÖã¬ÖµµÃ×¢ÒâµÄÊÇÕâÁ½¸öµÈ´ýµ÷ÓÃÐèÒªÒ»¸öÒѾÉÏËøµÄ»¥³âÌå
mutex
£¬ÕâÊÇΪÁË·ÀÖ¹ÔÚÕæÕý½øÈëµÈ´ý״̬֮ǰ±ðµÄÏß³ÌÓпÉÄÜÉèÖøÃÌõ¼þ±äÁ¿¶ø²úÉú¾ºÕù¡£
pthread_cond_broadcast
ÓÃÓÚÉèÖÃÌõ¼þ±äÁ¿£¬¼´Ê¹Ê¼þ·¢Éú£¬²¢Ê¹µÃËùÓеȴý¸ÃʼþµÄÏ̲߳»ÔÙ×èÈû¡£¶ø
pthread_cond_signal
ÔòÊÇÓýâ³ýijһ¸öµÈ´ýÏ̵߳Ä×èÈû״̬¡£
pthread_cond_destroy
ÓÃÀ´ÊÍ·ÅÒ»¸öÌõ¼þ±äÁ¿µÄ×ÊÔ´¡£
4
¡¢Éú²úÕß——Ïû·ÑÕ
Ïà¹ØÎĵµ£º
linuxѹËõºÍ½âѹËõÃüÁî´óÈ«
.tar
¡¡¡¡½â°ü£ºtar zxvf FileName.tar
¡¡¡¡´ò°ü£ºtar czvf FileName.tar DirName
¡¡¡¡---------------------------------------------
¡¡¡¡.gz
¡¡¡¡½âѹ1£ºgunzip FileName.gz
¡¡¡¡½âѹ2£ºgzip -d FileName.gz
¡¡¡¡Ñ¹Ëõ£ºgzip File ......
µ±´ÅÅÌ´óС³¬¹ý±ê׼ʱ»áÓб¨¾¯Ìáʾ£¬ÕâʱÈç¹ûÕÆÎÕdfºÍduÃüÁîÊǷdz£Ã÷ÖǵÄÑ¡Ôñ¡£
df¿ÉÒԲ鿴һ¼¶Îļþ¼Ð´óС¡¢Ê¹ÓñÈÀý¡¢µµ°¸ÏµÍ³¼°Æä¹ÒÈëµã£¬µ«¶ÔÎļþÈ´ÎÞÄÜΪÁ¦¡£
du¿ÉÒԲ鿴Îļþ¼°Îļþ¼ÐµÄ´óС¡£
Á½ÕßÅäºÏʹÓ㬷dz£ÓÐЧ¡£±ÈÈçÓÃdf²é¿´ÄĸöÒ»¼¶Ä¿Â¼¹ý´ó£¬È»º ......
shellÓï·¨£¨ÎåÏ
1.ÃüÁî¸ñʽ
2.ͨÅä·û
3.ÖØ¶¨Ïò
4.¹ÜµÀ
5.shellÖеÄÒýÓÃ
6.×Ô¶¯²¹ÆëÃüÁîÐÐ
ϵͳ¹ÜÀíά»¤
ls
pwd
cd
date
passwd
su
clear
man
who
w
uname
uptime
last
dmesg
free
ps
top
Îļþ¹ÜÀí±à¼
mkdir
more
cat
diff
grep
rm
touch
ln
file
cp
find
split
mv
ѹËõ½âѹ
zi ......
caddr_t //ºËÐĵØÖ·
clock_t //ʱÖӵδð¼ÆÊýÆ÷
compt_t //ѹËõµÄʱÖӵδð
dev_t //É豸ºÅ£¨Ö÷ºÍ´Î£©
fd_set //ÎļþÃèÊö·û¼¯
fpos_t //ÎļþλÖÃ
gid_t //ÊýÖµ×éID
ino_t //i½Úµã±àºÅ
mode_t //ÎļþÀ ......
Linux»ñÈ¡ºÁÃ뼶ʱ¼ä
Moakap
ÔÚÈí¼þÉè¼ÆÖо³£»áÓõ½¹ØÓÚʱ¼äµÄ´¦Àí£¬ÓÃÀ´¼ÆËãÓï¾ä¡¢º¯ÊýµÄÖ´ÐÐʱ¼ä£¬Õâʱ¾ÍÐèÒª¾«È·µ½ºÁÃëÉõÖÁÊÇ΢ÃîµÄʱ¼ä¡£
int gettimeofday(struct
timeval *tv, struct timezone *tz);
int settimeofday(const
struct timeval *tv , const struct timezone *tz);
struc ......