Linux¶àÏ̱߳à³Ì
Linux
¶àÏ̱߳à³Ì£º¡¾
http://fanqiang.chinaunix.net/a4/b8/20010811/0905001105.html
¡¿
Linux
¶àÏß³ÌÖ§³Ö
POSIX
Ï߳̽ӿڣ¬³ÆÎª
pthread,
pthread_create
ÓÃÀ´´´½¨Ị̈߳¬
pthread_join
µÈ´ýÏ߳̽áÊø£¬º¯ÊýµÄÔÐÍ·Ö±ðÈçÏ£º
extern int pthread_create __P
((pthread_t *__thread, __const pthread_attr_t *__attr,
¡¡¡¡
void *(*__start_routine) (void *), void
*__arg));
extern int pthread_join __P
((pthread_t __th, void **__thread_return));
´´½¨Ïß³Ìʱ¿ÉÒÔ¸øÏß³ÌÉèÖÃÏà¹ØÊôÐÔ£¬¸ÃÊôÐÔ°üÀ¨ÉèÖÃÊÇ·ñ°ó¶¨£¬ÊÇ·ñ·ÖÀ룬¶ÑÕ»µØÖ·£¬¶ÑÕ»´óС£¬ÓÅÏȼ¶£¬Ä¬ÈϵÄÊôÐÔΪ·Ç°ó¶¨¡¢·Ç·ÖÀ롢ȱʡ
1M
µÄ¶ÑÕ»¡¢Ó븸½ø³ÌͬÑù¼¶±ðµÄÓÅÏȼ¶¡£
ÊôÐÔÏà¹ØµÄ½á¹¹ÌåÊÇ
pthread_attr_t
£¬³õʼ»¯º¯ÊýΪ
pthread_attr_init.
ÉèÖÃḬ̈߳ó¶¨×´Ì¬µÄº¯ÊýΪ
pthread_attr_setscope
£¬ËüÓÐÁ½¸ö²ÎÊý£¬µÚÒ»¸öÊÇÖ¸ÏòÊôÐԽṹµÄÖ¸Õ룬µÚ¶þ¸öÊǰó¶¨ÀàÐÍ£¬ËüÓÐÁ½¸öȡֵ£º
PTHREAD_SCOPE_SYSTEM
£¨°ó¶¨µÄ£©ºÍ
PTHREAD_SCOPE_PROCESS
£¨·Ç°ó¶¨µÄ£©¡£
Ï̵߳ķÖÀë״̬¾ö¶¨Ò»¸öÏß³ÌÒÔʲôÑùµÄ·½Ê½À´ÖÕÖ¹×Ô¼º¡£ÔÚÉÏÃæµÄÀý×ÓÖУ¬ÎÒÃDzÉÓÃÁËÏ̵߳ÄĬÈÏÊôÐÔ£¬¼´Îª·Ç·ÖÀë״̬£¬ÕâÖÖÇé¿öÏ£¬ÔÓеÄÏ̵߳ȴý´´½¨µÄÏ߳̽áÊø¡£Ö»Óе±
pthread_join
£¨£©º¯Êý·µ»ØÊ±£¬´´½¨µÄÏ̲߳ÅËãÖÕÖ¹£¬²ÅÄÜÊÍ·Å×Ô¼ºÕ¼ÓõÄϵͳ×ÊÔ´¡£¶ø·ÖÀëÏ̲߳»ÊÇÕâÑù×ӵģ¬ËüûÓб»ÆäËûµÄÏß³ÌËùµÈ´ý£¬×Ô¼ºÔËÐнáÊøÁË£¬Ïß³ÌÒ²¾ÍÖÕÖ¹ÁË£¬ÂíÉÏÊÍ·Åϵͳ×ÊÔ´¡£³ÌÐòÔ±Ó¦¸Ã¸ù¾Ý×Ô¼ºµÄÐèÒª£¬Ñ¡ÔñÊʵ±µÄ·ÖÀë״̬¡£ÉèÖÃÏ̷߳ÖÀë״̬µÄº¯ÊýΪ
pthread_attr_setdetachstate
£¨
pthread_attr_t *attr, int detachstate
£©¡£µÚ¶þ¸ö²ÎÊý¿ÉѡΪ
PTHREAD_CREATE_DETACHED
£¨·ÖÀëỊ̈߳©ºÍ
PTHREAD _CREATE_JOINABLE
£¨·Ç·ÖÀëỊ̈߳©¡£
Ïß³ÌÊý¾Ý
[TSD, Thread Specific Data]
Ïà¹ØµÄº¯ÊýÖ÷ÒªÓÐ
4
¸ö£º
´´½¨Ò»¸ö¼ü£»
Ϊһ¸ö¼üÖ¸¶¨Ïß³ÌÊý¾Ý£»
´ÓÒ»¸ö¼ü¶ÁÈ¡Ïß³ÌÊý¾Ý£»
ɾ³ý¼ü¡£
Ïß³Ìͬ²½£º
»¥³âËø£º
pthread_mutex_lock,pthread_mutex_unlock.
Ìõ¼þ±äÁ¿£º
l
Ìõ¼þ±äÁ¿Í¨³£Ó뻥³âËøÒ»ÆðʹÓã¬ÓÃÀ´´òÆÆ»¥³
Ïà¹ØÎĵµ£º
Linux patchµÄÓ÷¨
http://hi.baidu.com/issaria/blog/item/b04527ec816967d72f2e2184.html
2008-08-14 14:50
Ò²ÐíÖ»ÊÇÎÒÒ»¸öÈ˱Ƚϱ¿£¬Ã¿´ÎÅöµ½bug£¬ËäÈ»ÓÐÈ˸ø³ö²¹¶¡£¨patch£©£¬µ«ÊÇÈ´²»ÖªµÀÔõôʹÓá£Manual Page ( man patch )Ò²Ö»¸ø³ö patch -p(num) <patchfileÕâÑùµÄÓ÷¨£¬¾ßÌåÒ²²»ÖªµÀÔõÑùÈ·¶¨num£¬Èç¹ûÄãÒ²ÓÐ ......
£¨1£©Ê×ÏÈÊǶÔLinuxÆô¶¯¹ý³ÌµÄ¸ú×ٺͷÖÎö£¬Éú³ÉÏêϸµÄÆô¶¯Ê±¼ä±¨¸æ¡£
¡¡¡¡½ÏΪ¼òµ¥¿ÉÐеķ½Ê½ÊÇͨ¹ýPrintkTime¹¦ÄÜΪÆô¶¯¹ý³ÌµÄËùÓÐÄÚºËÐÅÏ¢Ôö¼Óʱ¼ä´Á£¬±ãÓÚ»ã×Ü·ÖÎö¡£PrintkTime×îÔçΪCELFËùÌṩµÄÒ»¸öÄں˲¹¶¡£¬ÔÚºóÀ´µÄKernel 2.6.11°æ±¾ÖÐÕýʽÄÉÈë±ê×¼Äںˡ£ËùÒÔ´ó¼Ò¿ÉÄÜÔÚа汾µÄÄÚºËÖÐÖ±½ÓÆôÓøù¦ÄÜ¡£Èç¹ûÄãµÄLin ......
ÔÚWindowsÖпÉÒÔÔÚijЩ·¾¶ÖвéÕÒÎļþ£¬Ò²¿ÉÒÔÉ趨²»ÔÚijЩ·¾¶ÖвéÕÒÎļþ£¬ÏÂÃæÓÃLinuxÖеÄfindµÄÃüÁî½áºÏÆä-path -prune²ÎÊýÀ´¿´¿´ÔÚLinuxÖÐÔõôʵÏִ˹¦ÄÜ¡£
¼ÙÈçÔÚµ±Ç°Ä¿Â¼Ï²éÕÒÎļþ£¬ÇÒµ±Ç°Ä¿Â¼ÏÂÓкܶàÎļþ¼°Ä¿Â¼£¨¶à²ãĿ¼£©£¬°üÀ¨dir0¡¢dir1ºÍdir2 ...µÈĿ¼¼°dir00¡¢dir01...dir10¡¢dir11...µÈ×ÓĿ¼¡£
......
LinuxϵͳÆô¶¯¹ý³Ì
±¾ÎÄÒÔRedHat9.0ºÍi386ƽ̨ΪÀý£¬ÆÊÎöÁË´ÓÓû§´ò¿ªµçÔ´Ö±µ½ÆÁÄ»³öÏÖÃüÁîÐÐÌáʾ·ûµÄÕû¸öLinuxÆô¶¯¹ý³Ì¡£²¢ÇÒ½éÉÜÁËÆô¶¯ÖÐÉæ¼°µ½µÄ¸÷ÖÖÎļþ¡£
µ±Óû§´ò¿ªPCµÄµçÔ´£¬BIOS¿ª»ú×Լ죬°´BIOSÖÐÉèÖÃµÄÆô¶¯É豸(ͨ³£ÊÇÓ²ÅÌ)Æô¶¯£¬½Ó×ÅÆô¶¯É豸Éϰ²×°µÄÒýµ¼³ÌÐòlilo»ògrub¿ªÊ¼Òýµ¼ Linux£¬LinuxÊ×ÏȽøÐÐÄں˵ÄÒý ......
linux
ÏÂÓÃCʵÏÖ‘CAT’µÄ¹¦ÄÜ
#include<stdio.h>
int main(int argc,char *argv[]){
FILE *file;
char buf[1024],name[20];
int n;
if(argc != 2){
printf("wrong argument\n");
return 1;
}
file=fopen(argv[1],"r");
if(file==NULL){
printf("Cant't open!\n&quo ......