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

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ƪ£¨Ò»£©

×î½ü×¼±¸Ñ§Ï°Ò»Ï²Ù×÷ϵͳԭÀí£¬ÓÚÊÇÕÕÀý¼ÇÂ¼Ò»Ð©ÖØÒªµÄ¶«Î÷¡£
1. ²Ù×÷ϵͳµÄ¹¦ÄÜ
    ´Ó×ÊÔ´¹ÜÀíµÄ½Ç¶ÈÀ´¿´£¬²Ù×÷ϵͳµÄ¹¦ÄÜÒ»°ã·ÖΪ5ÖÖ:
    1.1 ´æ´¢¹ÜÀí
          ´æ´¢¹ÜÀí¾ÍÊǹÜÀí¼ÆËã»úÓÐÏÞµÄÄÚ´æ¿Õ¼ä£¬°üÀ¨£º´æ´¢·ÖÅä¡¢´æ´¢°²È«ºÍ ......

linuxÃüÁîÔ´ÂëµÄ²é¿´

ÔÚÆ½³£µÄ×÷ÒµÖУ¬ÓÐʱºòÀÏʦÈÃ×Ô¼ºÊµÏÖÖîÈçcatµÈÀàµÄ³ÌÐò£¬ÓÐʱºò½ÐÓÃshellʵÏÖ£¬ÓÐʱºòÓÃcʵÏÖ£¬µ«ÊÇÎÒ¾­³£Ò»µãÍ·Ð÷¶¼Ã»ÓУ¬²»¹ýÎÒÏëµ½linux¿ªÔ´µÄ£¬ÃüÁî´úÂë¿ÉÒÔÄÃÀ´²Î¿¼Ï°¢£¬ËùÒÔÎÒ¾ÍÏë¿´¿´linuxÃüÁîµÄÔ´´úÂ룬ÓÚÊǾͿªÊ¼Á˰ڶɹ·¹·µÄËÑË÷¹ý³Ì¡£´Ó½á¹ûÀ´¿´£¬ÓÐÁ½ÖÖÇé¿ö£¬Ò»ÖÖÊǸøÓèrpmµÄ°üµÄÐÎʽ£»ÁíÒ»ÖÖÊÇ»ùÓÚdeb°üµÄÐ ......

linuxÖ®¼äһЩ²î±ð

redhatϵÁÐ(rhel,centos,fc) yum install package-name
debianϵÁÐ(debian,ubuntu)  apt-get install package-name
¶ÔÓÚ¿ª·¢°ü
redhat:  yum install python-devel
debian:  apt-get install python-dev
Ìí¼ÓÓû§
redhat:  useradd user-name
debian:  useradd -m user-name
debianϵÁÐÀï ......

RedHat Enterprise Linux 5ÏÂÅäÖÃApache,Mysql,Php

[¾­¹ý°²×°²âÊԳɹ¦µÄ·½·¨from CYBEND ]
µÚÒ»²½£ºÏµÍ³ÓëÈí¼þµÄ×¼±¸
ϵͳ°æ±¾ redhat enterprise linux 5 ,Äں˰汾 2.6.18
µÚ¶þ²½£ºÈí¼þ°üµÄ×¼±¸
httpdÈí¼þ°ü£ºhttpd-2.2.8.tar.bz2
mysqlÈí¼þ°ü´Ómysql¹Ù·½ÍøÕ¾ÏÂÔØ£¬ÎÒÑ¡ÓõÄÊÇehel5µÄrpm°ü
MySQL-server-community-5.0.51a-0.rhel5.i386.rpm
MySQL-client-community ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ