linux Ï̱߳à³Ì
±¾Õ½éÉÜ POSIX Ï̵߳Ļù±¾Ï̱߳à³ÌÀý³Ì¡£±¾Õ½éÉÜȱʡỊ̈߳¨¼´£¬¾ßÓÐȱʡÊôÐÔÖµµÄỊ̈߳©£¬ÕâÊǶàÏ̱߳à³ÌÖÐ×î³£ÓõÄÏ̡߳£±¾Õ»¹½éÉÜÈçºÎ´´½¨ºÍʹÓþßÓзÇȱʡÊôÐÔµÄÏ̡߳£
±¾Õ½éÉÜµÄ POSIX Àý³Ì¾ßÓÐÓë×î³õµÄ Solaris ¶àÏ߳̿âÏàËÆµÄ±à³Ì½Ó¿Ú¡£
Ï߳̿â
ÏÂÃæ¼òÒªÂÛÊöÁËÌØ¶¨ÈÎÎñ¼°ÆäÏà¹ØÊÖ²áÒ³¡£
´´½¨È±Ê¡Ïß³Ì
Èç¹ûδָ¶¨ÊôÐÔ¶ÔÏó£¬Ôò¸Ã¶ÔÏóΪ NULL£¬ÏµÍ³»á´´½¨¾ßÓÐÒÔÏÂÊôÐÔµÄȱʡỊ̈߳º
½ø³Ì·¶Î§
·Ç·ÖÀë
ȱʡջºÍȱʡջ´óС
ÁãÓÅÏȼ¶
»¹¿ÉÒÔÓà pthread_attr_init() ´´½¨È±Ê¡ÊôÐÔ¶ÔÏó£¬È»ºóʹÓøÃÊôÐÔ¶ÔÏóÀ´´´½¨È±Ê¡Ï̡߳£ÓйØÏêϸÐÅÏ¢£¬Çë²Î¼û³õʼ»¯ÊôÐÔÒ»½Ú¡£
pthread_create Óï·¨
ʹÓà pthread_create(3C) ¿ÉÒÔÏòµ±Ç°½ø³ÌÖÐÌí¼ÓеÄÊÜ¿ØÏ̡߳£
int pthread_create(pthread_t *tid, const pthread_attr_t *tattr,
void*(*start_routine)(void *), void *arg);
#include <pthread.h>
pthread_attr_t() tattr;
pthread_t tid;
extern void *start_routine(void *arg);
void *arg;
int ret;
/* default behavior*/
ret = pthread_create(&tid, NULL, start_routine, arg);
/* initialized with default attributes */
ret = pthread_attr_init(&tattr);
/* default behavior specified*/
ret = pthread_create(&tid, &tattr, start_routine, arg);
ʹÓþßÓбØÒª×´Ì¬ÐÐΪµÄ attr µ÷Óà pthread_create() º¯Êý¡£ start_routine ÊÇÐÂÏß³Ì×îÏÈÖ´Ðеĺ¯Êý¡£µ± start_routine ·µ»ØÊ±£¬¸ÃÏ߳̽«Í˳ö£¬ÆäÍ˳ö״̬ÉèÖÃΪÓÉ start_routine ·µ»ØµÄÖµ¡£Çë²Î¼ûpthread_create Óï·¨¡£
µ± pthread_create() ³É¹¦Ê±£¬Ëù´´½¨Ïß³ÌµÄ ID ±»´æ´¢ÔÚÓÉ tid Ö¸ÏòµÄλÖÃÖС£
ʹÓà NULL ÊôÐÔ²ÎÊý»òȱʡÊôÐÔµ÷Óà pthread_create() ʱ£¬pthread_create() »á´´½¨Ò»¸öȱʡÏ̡߳£ÔÚ¶Ô tattr ½øÐгõʼ»¯Ö®ºó£¬¸ÃÏ߳̽«»ñµÃȱʡÐÐΪ¡£
pthread_create ·µ»ØÖµ
pthread_create() ÔÚµ÷Óóɹ¦Íê³ÉÖ®ºó·µ»ØÁã¡£ÆäËûÈκηµ»ØÖµ¶¼±íʾ³öÏÖÁË´íÎó¡£Èç¹û¼ì²âµ½ÒÔÏÂÈÎÒ»Çé¿ö£¬pthread_create() ½«Ê§°Ü²¢·µ»ØÏàÓ¦µÄÖµ¡£
EAGAIN
ÃèÊö:
³¬³öÁËϵͳÏÞÖÆ£¬Èç´´½¨µÄÏß³ÌÌ«¶à¡£
EINVAL
ÃèÊö:
tattr µÄÖµÎÞЧ¡£
µÈ´ýÏß³ÌÖÕÖ¹
pthread_join() º¯Êý»áÒ»Ö±×èÈûµ÷ÓÃỊ̈߳¬Ö±µ½Ö¸¶¨µÄÏß³ÌÖÕÖ¹¡£
pthread_join Óï·¨
ʹÓà pthread_join(3C) µÈ´ýÏß³ÌÖÕÖ¹¡£
int pthread_join(thread_t tid, void **status);
#include <pthread
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Linux³õ¼¶
linuxͼÐνçÃæÊ¹ÓÃ
linux¼òµ¥Ä¿Â¼½á¹¹
linux³£ÓÃÃüÁî
linuxϵͳ°²×°
LinuxÖм¶
linuxÓû§/Îļþϵͳ¹ÜÀí
linuxÍøÂç¹ÜÀí
linux´ÅÅ̹ÜÀí
linuxϵͳºÍÈÕ¼Çά»¤¹ÜÀí
linux°²È«ÓÅ»¯
linuxϵͳ±¸·ÝÓë»Ö¸´
shell³õ²½±à³Ì
linux¸ß¼¶
Linux·þÎñÆ÷
Linux Dns·þÎñÆ÷
Linux Mail·þÎñÆ÷
Linux Web·þÎ ......
Linux initial RAM disk (initrd) overview
Learn about its anatomy, creation, and use in the Linux boot process
M. Tim Jones
(mtj@mtjones.com
), Consultant Engineer, Emulex
M. Tim Jones is an embedded software architect and the author of GNU/Linux Application Programming
, AI Application Prog ......
1.ʱ¼ä±íʾ
¡¡¡¡ÔÚ³ÌÐòµ±ÖÐ,ÎÒÃǾ³£ÒªÊä³öϵͳµ±Ç°µÄʱ¼ä,±ÈÈçÎÒÃÇʹÓÃdateÃüÁîµÄÊä³ö½á¹û.Õâ¸öʱºòÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÁ½¸öº¯Êý:
¡¡¡¡#include
¡¡¡¡time_t time(time_t *tloc);
¡¡¡¡char *ctime(const time_t *clock);
¡¡¡¡timeº¯Êý·µ»Ø´Ó1970Äê1ÔÂ1ÈÕ0µãÒÔÀ´µÄÃëÊý.´æ´¢ÔÚtime_t½á¹¹Ö®ÖÐ.²»¹ýÕâ¸öº¯ÊýµÄ·µ»ØÖµ¶ÔÓÚÎÒÃÇ ......
Linux»ù±¾Ö¸Áî
alias
ÌæÖ¸ÁîÈ¡±ðÃû
¡ò alias ÁгöĿǰϵͳËùʹÓõÄËùÓÐÖ¸Áî±ðÃû
¡ò alias ±ðÃû=Linux Ö¸ÁîÃû³Æ ´ËʱÈôÊäÈ롸±ðÃû¡¹Ôò¹¦ÄÜ»á¸úÊäÈ롸Linux Ö¸ÁîÃû³Æ¡¹Ïàͬ
¡ò ÈôÏëҪÿ´Î¿ª»ú¶¼Ê¹Óô˱ðÃû£¬ÔÚ bash ÖУ¬Ò»¶¨ÒªÔÚ .bashrc ÖÐÖ¸¶¨£¬Èç¹ûÊÇ tcsh ÖУ¬ÔòÒªÔÚ .cshrc ÖÐÖ¸¶¨
ar
½«Ðí¶àµµ°¸±¸´æ³ÉÒ»¸ö»ò¶à¸ö ......