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

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

      ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØҪʹÓÃÏ̳߳ØÁË¡£
   ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػáά»¤Ò»¸öÈÎÎñÁ´±í(ÿ¸öCThread_worker½á¹¹¾ÍÊÇÒ»¸öÈÎÎñ)¡£
   pool_init()º¯ÊýÔ¤ÏÈ´´½¨ºÃmax_thread_num¸öỊ̈߳¬Ã¿¸öÏß³ÌÖ´thread_routine ()º¯Êý¡£¸Ãº¯ÊýÖÐ
   1. while (pool->cur_queue_size == 0)
   2. {
   3.        pthread_cond_wait (&(pool->queue_ready),&(pool->queue_lock));
   4. }
±íʾÈç¹ûÈÎÎñÁ´±íÖÐûÓÐÈÎÎñ£¬Ôò¸ÃÏ̳߳öÓÚ×èÈûµÈ´ý״̬¡£·ñÔò´Ó¶ÓÁÐÖÐÈ¡³öÈÎÎñ²¢Ö´ÐС£
 
   pool_add_worker()º¯ÊýÏòÏ̳߳صÄÈÎÎñÁ´±íÖмÓÈëÒ»¸öÈÎÎñ£¬¼ÓÈëºóͨ¹ýµ÷ÓÃpthread_cond_signal (&(pool->queue_ready))»½ÐÑÒ»¸ö³öÓÚ×èÈû״̬µÄÏß³Ì(Èç¹ûÓеĻ°)¡£
 
   pool_destroy ()º¯ÊýÓÃÓÚÏú»ÙÏ̳߳أ¬Ï̳߳ØÈÎÎñÁ´±íÖеÄÈÎÎñ²»»áÔÙ±»Ö´ÐУ¬µ«ÊÇÕýÔÚÔËÐеÄÏ̻߳áÒ»Ö±°ÑÈÎÎñÔËÐÐÍêºóÔÙÍ˳ö¡£
ÏÂÃæÌù³öÍêÕû´úÂë
   1. #include <stdio.h>
   2. #include <stdlib.h>
   3. #include <unistd.h>
   4. #include <sys/types.h>
   5. #include <pthread.h>
   6. #include <assert.h>
   7.
   8. /*
   9. *Ï̳߳ØÀïËùÓÐÔËÐк͵ȴýµÄÈÎÎñ¶¼ÊÇÒ»¸ö CThread_worker
  10. *ÓÉÓÚËùÓÐÈÎÎñ¶¼ÔÚÁ´±íÀËùÒÔÊÇÒ»¸öÁ´±í½á¹¹
  11. */
  12. typedef struct worker
  13. {
  14.     /*»Øµ÷º¯Êý£¬ÈÎÎñÔËÐÐʱ»áµ÷Óô˺¯Êý£¬×¢ÒâÒ²¿ÉÉùÃ÷³ÉÆäËüÐÎʽ*/
  15.     void *(*process) (void *arg);
  16.     void *arg;/*»Øµ÷º¯ÊýµÄ²ÎÊý*/
  17.     struct worker *next;
  18.
  19. } CThread_worker;
  20.
  21.
 


Ïà¹ØÎĵµ£º

ʹÓà /proc ÎļþϵͳÀ´·ÃÎÊ Linux Äں˵ÄÄÚÈÝ

²Î¼û£ºhttp://www.ibm.com/developerworks/cn/linux/l-proc.html
ʹÓà /proc ÎļþϵͳÀ´·ÃÎÊ Linux Äں˵ÄÄÚÈÝ
Õâ¸öÐéÄâÎļþϵͳÔÚÄں˿ռäºÍÓû§¿Õ¼äÖ®¼ä´ò¿ªÁËÒ»¸öͨÐÅ´°¿Ú
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8& ......

LinuxϵĶàÏ̱߳à³Ì

1 ÒýÑÔ
¡¡¡¡Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Ŷà½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ­±»Ðí¶à²Ù×÷ϵͳËùÖ§³Ö£¬°üÀ¨Windows/NT£¬µ±È»£¬Ò²°üÀ¨Linux¡£ ......

dos ºÍ linux »»Ðзû Çø±ð

windows(dos)ϵĻ»Ðзû ºÍ linux (ubuntu)ϵĻ»ÐзûÊDz»Í¬µÄ¡£
ÔÚÉæ¼°µ½DOSϵÄÎı¾ ÔÚLINUXÏ ²Ù×÷ʱ£¬¾ÍÉæ¼°µ½»»Ðзû²»Í¬´øÀ´µÄÂé·³¡£
£¬ÔÚDOSʹÓõĻ»ÐзûΪ ^M$£¬ÎÒÃdzÆΪCRÓëLFÁ½¸ö·ûºÅ¡£¶øÔÚLinuxÖУ¬Ôò½öÓÐLF ($) Õâ¸ö»»Ðзû¡£Õâ¸ö»»Ðзû¶ÔÓÚ
LinuxµÄÓ°ÏìºÜ´ó¡£
ÎÒÃÇ˵¹ý£¬ÔÚ¿ªÊ¼Ö´ÐÐLinuxÃüÁîʱ£¬ËüµÄÅжÏÒÀ ......

python,c++,C#Ëæ»úÊýÉú³É

ÏÈ˵python
pythonµÄrandomÄ£¿éÌṩÁ˶à¸öαËæ»úÊý·¢ÉúÆ÷£¬Ä¬È϶¼ÊÇÓõ±Ç°Ê±¼ä´ÁΪËæ»úÊýÖÖ×Ó¡£
ÏÂÃæÊǸÃÄ£¿é¼¸¸ö×î³£Óõĺ¯Êý
random() Return the next random floating point number in the range [0.0, 1.0). 
randint(a,b) Return a random integer N such that a <=
N <= b
randrange([star ......

¿¼²éǶÈëʽC¿ª·¢ÈËÔ±µÄ×îºÃµÄ0x10µÀÌâ

±àÕß°´
:·Ç³£»ù±¾¹ØÓÚCÓïÑÔµÄÎÊÌâ,Ò»¸öÐÅÏ¢Àà(¼ÆËã»ú,×ÊѶ¹¤³Ì,µç×Ó¹¤³Ì, ͨÐŹ¤³Ì)רҵµÄ±¾¿Æ±ÏÒµÉúÓ¦¸Ã´ïµ½µÄˮƽ¡£ÌâÄ¿²»ÄÑ,È«²¿¶¼ÄÜ¿ìËٵشðÍ꣬µ±È»Ò²ÐèÒªÒ»¶¨µÄ֪ʶ´¢±¸¡£
¶ÔÓÚ´ó¶àÊýÈË£¬ÎÒÃÇÔ¤ÆÚÄã¿ÉÄÜ´ð´í 3)   4)  15)Ì⣬ËùÒÔ´ð´í3µÀÒÔÄڵģ¬ÎÒÃÇÈÏΪÄãºÜ°ô
´ð´í5µÀÌâÒÔÄÚ£¬ÎÒÃÇÈÏΪÄ㻹²»´í(Ä ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ