linux api±Ê¼Ç£¨6£©£ºỊ̈߳¨ËÄ£© Ïß³Ì˽ÓÐÊý¾Ý
±¾ÎĽ«ÃèÊöÏ̵߳ÄÒ»¸ö±È½ÏÖØÒªµÄÒ»·½Ã棺Ïß³Ì˽ÓÐÊý¾Ý£¬ÈçÏ´úÂ룺
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
pthread_key_t kKey = 0;
void * ThreadProc(void* arg)
{
char* a = (char*)(arg);
sleep(2);
pthread_setspecific(kKey, a);
sleep(1);
char* str = (char*)pthread_getspecific(kKey);
printf("thread: %s\n", str);
}
int main()
{
pthread_t thread_handle1 = 0;
pthread_t thread_handle2 = 0;
char a[] = {"i am A"};
char b[] = {"i am B"};
pthread_create(&thread_handle1, NULL, ThreadProc, a);
pthread_key_create(&kKey, NULL);
pthread_create(&thread_handle2, NULL, ThreadProc, b);
void* out1 = NULL;
void* out2 = NULL;
pthread_join(thread_handle1, &out1);
pthread_join(thread_handle2, &out2);
return 0;
}
ʹÓÃÏß³Ì˽ÓÐÊý¾ÝµÄ²½Ö裺
1£©Ê¹ÓÃpthread_key_create·ÖÅäÒ»¸öÏß³Ì˽ÓÐÊý¾ÝµÄkey£¬ÕâÀïÐèҪעÒâµÄÊǵ±ÎÒÃǵ÷ÓÃÁËÕâ¸öº¯Êý
Ö®ºó½ø³ÌÖÐËùÓеÄÏ̶߳¼¿ÉÒÔʹÓÃÕâ¸ökey£¬²¢ÇÒͨ¹ýÕâ¸ökey»ñÈ¡µ½µÄ˽ÓÐÊý¾ÝÊÇ»¥²»ÏàͬµÄ£¬±ÈÈçÏß³Ì
Aͨ¹ýkeyÉèÖÃÁËÊý¾ÝD£¬µ«Ïß³ÌB²¢Ã»ÓÐÉèÖÃÊý¾Ý£¬ÄÇôAͨ¹ýkey»ñÈ¡µÄÊý¾Ýµ±È»ÊÇD£¬¶øB»ñÈ¡µÄÊÇÒ»¸ö
¿ÕµÄÖµ¡£ÁíÍâÐèҪעÒâµÄÊDz»¹ÜÏß³ÌÊÇÔÚpthread_key_createµ÷ÓÃ֮ǰ»òÖ®ºó²úÉú£¬Ëü¶¼Äܹ»ÔÚº¯Êýµ÷ÓÃ
Ö®ºóʹÓÃÕâ¸ökey¡£
2£©Ê¹ÓÃpthread_setspecificº¯Êý½«keyºÍÒ»¸öÏß³Ì˽ÓÐÊý¾Ý°ó¶¨¡£
3£©Í¨¹ýpthread_getspecificº¯ÊýºÍkey»ñÈ¡µ½Õâ¸öÏ̵߳Ä˽ÓÐÊý¾Ý¡£
ÎÒÒ»Ö±¾õµÃÏß³Ì˽ÓÐÊý¾Ý²ßÂԺܺÃÓ㬵«¿¼Âǵ½Ê¹Óùý³ÌÖÐÐèÒª½øÐГϵͳµ÷ÓÔ£¨pthread_getspecificÊÇϵͳµ÷ÓÃÂ𣿣©£¬
Èç¹û±È½ÏƵ·±µØµ÷ÓÃÕâ¸öº¯ÊýµÄ»°Ëµ²»¶¨»áʹ³ÌÐòµÄÐÔÄÜϽµ£¬µ«¿´ÁËmanÎĵµÖеÄÒ»¾ä»°ºóÕâ¸öÖйËÂÇÉÔ΢¼õÇᣬ¾¡¹Ü»¹ÊÇÓÐÒÉÎÊ£º
“the function to pthread_getspecific() has been designed to favor speed and simplicity over error reporting”
ÉÏÃæËµËüµÄËÙ¶ÈÒѾ±»Éè¼ÆµØºÜ¿ìÁË¡£
Ïà¹ØÎĵµ£º
ǶÈëʽLinux¿ª·¢ÐèÒªµÄ²Î¿¼×ÊÁÏ
×÷Õߣº ¡¡À´Ô´ÓÚ£º ¡¡·¢²¼Ê±¼ä£º2008-10-6 20:45:00
Òýµ¼£º
ÈçÐè»ñµÃ¶Ô
vmlinux
ºÍ
zimage
Ö®¼äÇø±ðµÄ¼«ºÃ½âÊÍ£¬ÇëÔÚ
Alessandro Rubini
±àдµÄ
“
Kernel Configuration: dealing with the unexpected
£¨
Linux Magazine
£©µÄÒ»ÎÄÖÐÕÒµ½
&ld ......
ÕÛÌÚÁË´ó°ëÌì¶¼ÖÕ°Ñtuxedo°²×°£¬²¢Ð´ºÃµÚÒ»¸öÀý×Ó£¬¼´È»°²×°¿ÉÒÔʹÓÃUIµÄ·½Ê½½øÐа²×°£¬°²×°Íê³ÉºóÒª½øÐл·¾³±äÁ¿µÄÅäÖ㬰ÑtuxedoĿ¼ÖеÄtux.envµÄÅäÖã¬Ìí¼Óµ½/home/oracle/.bash_profile£¬ÒòΪÎÒÊÇÒÔoracleÓû§À´°²×°oracle ºÍtuxedo µÄ¡£
·þÎñÆ÷¶Ë´úÂësimpserv.c:
#include <stdio.h>
#include <ctyp ......
Linux·þÎñÆ÷ÔÚÆô¶¯Ê±ÐèÒªÆô¶¯ºÜ¶àϵͳ·þÎñ£¬ËüÃÇÏò±¾µØºÍÍøÂçÓû§ÌṩÁËLinuxµÄϵͳ¹¦Äܽӿڣ¬Ö±½ÓÃæÏòÓ¦ÓóÌÐòºÍÓû§¡£ÌṩÕâЩ·þÎñµÄ³ÌÐòÊÇÓÉÔËÐÐÔÚºǫ́µÄÊØ»¤½ø³Ì£¨daemons£©À´Ö´Ðеġ£ÊØ»¤½ø³ÌÊÇÉú´æÆÚ³¤µÄÒ»ÖÖ½ø³Ì¡£ËüÃǶÀÁ¢ÓÚ¿ØÖÆÖն˲¢ÇÒÖÜÆÚÐÔµÄÖ´ÐÐijÖÖÈÎÎñ»òµÈ´ý´¦ÀíijЩ·¢ÉúµÄʼþ¡£ËûÃdz£³£ÔÚϵͳÒýµ¼×°ÈëʱÆô¶ ......
°²×°Kmplayer²¥·ÅÆ÷
£¨×÷Õß/l4nneret£©ÎªÁËÄÜÔÚ Linux ÏÂÒ²Äܲ¥·Å¶àýÌåÎļþ£¬ÓÚÊǰ²×°¾Ý³ÆºÜÇ¿º·µÄ Kmplayer ²¥·ÅÆ÷¡£¹ý³ÌÈçÏ£ºÔÚ http://www.mplayerhq.hu/MPlayer/ ÕâÀï¿´µ½ Kmplayer µÄÖ÷³ÌÐòÒѾ¸üе½ÁË 1.0rc2 °æ¡£
ÏÂÔØÖ÷³ÌÐò£ºMPlayer-1.0rc2.tar.bz2
Á½¸ö½âÂë°ü£ºall-20071007.tar.bz2 ºÍ windows-all-2007 ......
ÔÚÆ½³£µÄ×÷ÒµÖУ¬ÓÐʱºòÀÏʦÈÃ×Ô¼ºÊµÏÖÖîÈçcatµÈÀàµÄ³ÌÐò£¬ÓÐʱºò½ÐÓÃshellʵÏÖ£¬ÓÐʱºòÓÃcʵÏÖ£¬µ«ÊÇÎÒ¾³£Ò»µãÍ·Ð÷¶¼Ã»ÓУ¬²»¹ýÎÒÏëµ½linux¿ªÔ´µÄ£¬ÃüÁî´úÂë¿ÉÒÔÄÃÀ´²Î¿¼Ï°¢£¬ËùÒÔÎÒ¾ÍÏë¿´¿´linuxÃüÁîµÄÔ´´úÂ룬ÓÚÊǾͿªÊ¼Á˰ڶɹ·¹·µÄËÑË÷¹ý³Ì¡£´Ó½á¹ûÀ´¿´£¬ÓÐÁ½ÖÖÇé¿ö£¬Ò»ÖÖÊǸøÓèrpmµÄ°üµÄÐÎʽ£»ÁíÒ»ÖÖÊÇ»ùÓÚdeb°üµÄÐ ......