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

Linux ºÍ ¶àÏß³Ì

ÿ´Î¶¼ÊÇÓõ½£¬²éһϣ¬Ð´Ï£¬Õâ´ÎÉÔ΢¼Ç¼Ï±ʼǡ£
ºÍThreadÏà¹Ø£¬»ù±¾µÄÓÐ3¸ö¸ÅÄÏ̵߳Ľ¨Á¢ºÍÏú»Ù£»Ïß³ÌËø£»Ïß³ÌÌõ¼þ
¹ØÓÚ½¨Á¢Ị̈߳º
ret = pthread_create(&thread_id, NULL, Do_Thread, &Do_Thread_Para);
// µÚ2²ÎÊýÊÇthread ÊôÐÔ£¬Ò»°ãÎÒ²»ÓÃÉèÖÃ
// µÚ4¸ö²ÎÊýÊÇDo_ThreadµÄÈë¿Ú²ÎÊý£¬Ò»°ãÎÒ´«Ò»¸ö½á¹¹Ìå½øÈ¥
¹ØÓÚÏú»ÙỊ̈߳º
µÈ´ýÏ߳̽áÊø£ºpthread_join
Ç¿ÐÐɱµôỊ̈߳ºpthread_exit
ÈÃÏß³Ì×ÔÉú×ÔÃð£ºpthread_detach
ÎÒÒ»°ãÓõÄÊǵÚÒ»¸ö£º
pthread_join(thread_id, &Do_Thread_ret);
// µÚ¶þ¸ö²ÎÊýÊÇÏ̷߳µ»ØÖµ 
¹ØÓÚÏß³ÌËø£ºµ±ÒªÔÚ¶à¸öÏ̹߳²ÏíijЩ±äÁ¿µÄʱºò£¬¾ÍÐèÒªÓÃËø¡£ÕâÑù¿ÉÒÔ±£Ö¤Ò»¸öʱ¼äµã£¬Ö»ÓÐÒ»¸öÏß³ÌÄܹ»·ÃÎÊÕâ¸öÏß³Ì
pthread_mutex_t mMutexData£»
pthread_mutex_init(&(mMutexData), NULL); // µÚ2¸ö²ÎÊýÊÇËøµÄÊôÐÔ£¬ÎÒÒ»°ãÓÃĬÈÏ£¬NULL
pthread_mutex_lock(&mMutexData);  // ¼ÓËø
pthread_mutex_unlock(&mMutexData) // È¥Ëø
pthread_mutex_destroy(&mMutexData) // Ïú»Ù
¹ØÓÚÌõ¼þ£ºµ±Ä³¸öÏß³ÌÐèÒªµÈ´ýÆäËûÏ̴߳¦ÀíÍêij¸öÊý¾Ý£¨ÔËÐе½Ä³¸öµã£©µÄ»°£¬¾ÍÐèÒªÓÃÌõ¼þ£¬Ò»°ã¼Ó¸öʱ¼ä²ÎÊý£¬ÒÔ·ÀÖ¹ËÀµÈÏÂÈ¥¡£
pthread_cond_t *sConditionData£»
pthread_cond_init(&(sConditionData), NULL)£» // µÚ2¸ö²ÎÊýÊÇËøµÄÊôÐÔ£¬ÎÒÒ»°ãÓÃĬÈÏ£¬NULL
 pthread_mutex_lock(&mMutexData); // Ò»°ãÌõ¼þ±ØÐëºÍËø¼ÓÔÚÒ»ÆðÓã¬ÒÔ±£Ö¤Ìõ¼þ±äÁ¿²»ÖØÈë
  pthread_cond_signal(&sConditionData); // ·¢ÐźÅ
  pthread_mutex_unlock(&mMutexData);
    struct timespec  ts;
    struct timeval sTime;
    struct timezone sTimeZone£»
   long res;
  pthread_mutex_lock(&(pApp->mMutexData));
  gettimeofday(&sTime, &sTimeZone);
  ts.tv_sec = sTime.tv_sec;
  ts.tv_nsec += 5sTime. tv_usec * 1000 £«20*1000*1000; // 20 ms
  ret = pthread_cond_timedwait(&(pApp->sConditionData), &(pApp->mMutexData), &ts); // µÈºò
  if(ret == ETIMEDOUT)
  {
   pthread_mutex_unlock(&(pApp->mMutexData));
  


Ïà¹ØÎĵµ£º

ÔÚlinuxÏÂʵÏÖweb qqµÄ×ÀÃæ»¯


´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ­°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......

linux µÄ sourceÃüÁî

sourceÃüÁî(´Ó C Shell ¶øÀ´)ÊÇbash shellµÄÄÚÖÃÃüÁî¡£µãÃüÁ¾ÍÊÇÒ»¸öµã·ûºÅ£¬(´ÓBourne Shell¶øÀ´)ÊÇsourceµÄÁíÒ»Ãû³Æ¡£ÕâÁ½¸öÃüÁî¶¼ÒÔÒ»¸ö½Å±¾Îª²ÎÊý£¬¸Ã½Å±¾½«×÷Ϊµ±Ç°shellµÄ»·¾³Ö´ÐУ¬¼´²»»áÆô¶¯Ò»¸öеÄ×Ó½ø³Ì¡£ËùÓÐÔڽű¾ÖÐÉèÖõıäÁ¿½«³ÉΪµ±Ç°ShellµÄÒ»²¿·Ö¡£Í¬ÑùµÄ£¬µ±Ç°½Å±¾ÖÐÉèÖõıäÁ¿Ò²½«×÷Ϊ½Å±¾µÄ»·¾³£¬s ......

linux´ÅÅ̿ռ䲻¹»ÓÃ,Ìí¼ÓÓ²ÅÌ

Ìí¼ÓÓ²Å̺óÆô¶¯ÐéÄâ»ú£¬ Èç¹ûÌí¼ÓµÄSCSIÓ²ÅÌÕâʱӦ¸Ã¶à³öÒ»¸ösdb/sdc/..µÄÅÌ£¬¿ÉÒÔÓà fdisk -l ²é¿´µ½
·ÖÇøfdisk /dev/sdb   ---> n p 1 »Ø³µ »Ø³µ w
¸ñʽ»¯mkfs -t ext3 -c /dev/sdb1
¹ÒÔØµ½Ä³¸öĿ¼ mount /dev/sdb1 /home
vi /etc/fstab Ìí¼ÓÒ»ÐР /dev/sdb1   /home  ext3 defau ......

Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ

ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػ ......

¸ß¼¶Linux³ÌÐòÉè¼ÆµÚÒ»Õ£ºÈëÃÅ

1¡¢ÓÃGCC±àÒë
1.1¡¢´´½¨Ô´Îļþ
(main.c) C Ô´Îļþ - main.c
#include
#include “reciprocal.hpp”
int main (int argc, char **argv)
{
    int i;
    i = atoi (argv[1]);
    printf (“The reciprocal of %d is %g\n”, i, reciprocal (i ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ