Python¶àÏß³Ì ¼òÃ÷Àý×Ó
×ÛÊö
¶àÏß³ÌÊdzÌÐòÉè¼ÆÖеÄÒ»¸öÖØÒª·½Ã棬ÓÈÆäÊÇÔÚ·þÎñÆ÷Deamon³ÌÐò·½Ãæ¡£ÎÞÂÛºÎÖÖϵͳ£¬Ï̵߳÷¶ÈµÄ¿ªÏú¶¼±È´«Í³µÄ½ø³ÌÒª¿ìµÃ¶à¡£
Python¿ÉÒÔ·½±ãµØÖ§³Ö¶àÏ̡߳£¿ÉÒÔ¿ìËÙ´´½¨Ï̡߳¢»¥³âËø¡¢ÐźÅÁ¿µÈµÈÔªËØ£¬Ö§³ÖÏ̶߳Áдͬ²½»¥³â¡£ÃÀÖв»×ãµÄÊÇ£¬PythonµÄÔËÐÐÔÚPython
ÐéÄâ»úÉÏ£¬´´½¨µÄ¶àÏ߳̿ÉÄÜÊÇÐéÄâµÄỊ̈߳¬ÐèÒªÓÉPythonÐéÄâ»úÀ´ÂÖѯµ÷¶È£¬Õâ´ó´ó½µµÍÁËPython¶àÏ̵߳ĿÉÓÃÐÔ¡£Ï£Íû¸ß°æ±¾µÄPython¿ÉÒÔ
½â¾öÕâ¸öÎÊÌ⣬·¢»Ó¶àCPUµÄ×î´óЧÂÊ¡£
ÍøÉÏÓÐЩÅóÓÑ˵Ҫ»ñµÃÕæÕý¶àCPUµÄºÃ´¦£¬ÓÐÁ½ÖÖ·½·¨£º
1.¿ÉÒÔ´´½¨¶à¸ö½ø³Ì¶ø²»ÊÇỊ̈߳¬½ø³ÌÊýºÍcpuÒ»Ñù¶à¡£
2.ʹÓÃJython »ò IronPython£¬¿ÉÒԵõ½ÕæÕýµÄ¶àÏ̡߳£
Ïл°ÉÙ˵£¬ÏÂÃæ¿´¿´PythonÈçºÎ½¨Á¢Ïß³Ì
PythonÏ̴߳´½¨
ʹÓÃthreadingÄ£¿éµÄ ThreadÀà
Àà½Ó¿ÚÈçÏÂ
class
Thread( group=None, target=None, name=None, args=(), kwargs={})
ÐèÒª¹Ø×¢µÄ²ÎÊýÊÇtargetºÍargs. target ÊÇÐèÒª×ÓÏß³ÌÔËÐеÄÄ¿±êº¯Êý£¬argsÊǺ¯ÊýµÄ²ÎÊý£¬ÒÔtupleµÄÐÎʽ´«µÝ¡£
ÒÔÏ´úÂë´´½¨Ò»¸öÖ¸Ïòº¯Êýworker µÄ×ÓÏß³Ì
def worker(a_tid,a_account):
...
th = threading.Thread(target=worker,args=(i,acc) ) ;
Æô¶¯Õâ¸öÏß³Ì
th.start()
µÈ´ýÏ̷߳µ»Ø
threading.Thread.join(th)
»òÕßth.join()
Èç¹ûÄã¿ÉÒÔ¶ÔÒª´¦ÀíµÄÊý¾Ý½øÐкܺõĻ®·Ö£¬¶øÇÒÏß³ÌÖ®¼äÎÞÐëͨÐÅ£¬ÄÇôÄã¿ÉÒÔʹÓ㺴´½¨=¡·ÔËÐÐ=¡·»ØÊյķ½Ê½±àдÄãµÄ¶àÏ̳߳ÌÐò¡£µ«ÊÇÈç¹ûÏß³ÌÖ®¼äÐèÒª·ÃÎʹ²Í¬µÄ¶ÔÏó£¬ÔòÐèÒªÒýÈ뻥³âËø»òÕßÐźÅÁ¿¶Ô×ÊÔ´½øÐл¥³â·ÃÎÊ¡£
ÏÂÃæ½²½²ÈçºÎ´´½¨»¥³âËø
´´½¨Ëø
g_mutex = threading.Lock()
....
ʹÓÃËø
for
... :
#Ëø¶¨£¬´ÓÏÂÒ»¾ä´úÂëµ½ÊÍ·Åǰ»¥³â·ÃÎÊ
g_mutex.acquire()
a_account.deposite(1)
#ÊÍ·Å
g_mutex.release()
×îºó£¬Ä£ÄâÒ»¸ö¹«
Ïà¹ØÎĵµ£º
±³ºóÓÐÒ»´óÌ×µÄÀíÂÛ £¡£¡¹ÜËüÄØ£¡£¿ÀíÂÛÄܵ±·¹³ÔÂð£¿
ÏÈÖªµÀÔõôÓÃÔÙ˵£¡
¼Çס£ºÔªÀà¾ÍÊÇÀàµÄÄ£°å——Ì«ÐÎÏóÁËÁËѽ£¬»ô»ô¡£
ÎÒÒªÒ»´óȺµÄÀà¶¼¾ßÓÐÒ»ÖÐÌØµã£¬ÎÒÔõô¸øËûÃǼÓÉÏÄØ£¿Ä£°åÄ£°åÂð£¬ÎÒ´ÓÕâ¸öÄ£°å´´½¨Ò»ÈºÀ಻¾ÍOKÁË£¿ÄǾÍÐèÒªÔªÀàÁË¡£»ô»ô¡·
¶¨ÒåÒ»¸öÔªÀࣨ¾ÍËùÒ»¸öÀàµÄÄ£°å£¡Äª¶àÏ룬»¹Òª¼ÇסÕâÊÇÀ ......
vimÖ§³Ö´ó²¿·ÖÎļþ¸ñʽµÄÓï·¨¸ßÁÁ£¬¶øÇÒ¿ÉÒÔ×Ô¶¨Òå¡£²»¹ýȱʡµÄpythonÓï·¨¸ßÁÁ¸Ð¾õÌ«ÉÙ£¬ÐÞ¸Äһϡ£
1.ÐÞ¸ÄÓï·¨¸ßÁÁÎļþ
vim/vim72/syntax/python.vim
½«" let python_highlight_all = 1
Ç°ÃæµÄÒýºÅÈ¥µô£¬¿ÉÖ§³ÖÄÚÖú¯Êý£¬Êý×Ö£¬¿Õ¸ñ£¬Òì³£µÄÓï·¨¸ßÁÁ¡£
2. ½«self¼Ó½ø
syn keyword pythonBuiltin&n ......
1. Python ´®¿ÚÉ豸ӦÓÃ
¼òÊö
1.1. Ïß³ÌÂÖѰ
·ç³¾ÎÞÏÞ <tianyu263@163.com>
-- ·ÖÏí
¾ÍÊÇ´ò¿ª´®¿Úºó£¬Æô¶¯Ò»¸öÏß³ÌÀ´¼àÌý´®¿ÚÊý¾ÝµÄ½øÈ룬ÓÐÊý¾Ýʱ£¬¾Í×öÊý¾ÝµÄ´¦Àí£¨Ò²¿ÉÒÔ·¢ËÍÒ»¸öʼþ£¬²¢Ð¯´ø½ÓÊÕµ½µÄÊý¾Ý£©¡£
Toggle line numbers
1
2 #coding=gb18030
3
4 i ......
½ñÌì¿´¿´ÈçºÎÓÃpythonʵÏÖ×¥°ü¡£
ÒÔǰÎÒÃÇÔøÓùýwinpcapʵÏÖ×¥°ü£¬Æäʵ½ñÌìÎÒÃÇ»¹ÊÇÓÃËü£¬Ö»²»¹ýÊÇËüÔÚpythonϵÄÄ£¿é£¬ÔÚÓÃ֮ǰÎÒÃDZØÐëÏÈÏÂÔØÁ½¸ö¿â£¬pcap¿âºÍdpkt¿â£¬Õâ¸ö¿ÉÒÔÔÚGoogle codeÀïºÜÈÝÒ×ÕÒµ½£¬ÐèҪעÒâµÄÊÇpcapÖ»Ö§³Öµ½python2.5 £¬ËùÒÔÎÒÃÇÒªÓÃ2.5À´±àд¡£
°²×°ÍêÁ ......
£ª javaÇ¿ÖÆÊ¹ÓÃOO½øÐÐÓ¦Óÿª·¢£¬Python¿ÉÒÔÓú¯Êýʽ±à³Ì¡£º¯ÊýʽÓÐʱÏԵ÷dz£¼òµ¥£¬´úÂëÁ¿¾Þ¼õ¡£»ØÏëÆðJava¶¯²»¶¯µÄN²ã¡¢»¹ÓÐÒ»¸ö¸ö¶ÔÏó£¬ÕæµÄÓÐÄÇÖÖÐÄÒªÂ𣿶øÇÒPython±¾ÉíÓïÑÔ·ç¸ñ¾Í¼ò½à£¬ÔÙ¼ÓÉϼò½àµÄº¯Êý£¬ÔÚ¿ª·¢Ð§ÂÊ¡¢Debug¡¢²âÊÔÉÏËÆºõ»áÓÐÓÅÊÆ¡£
£ª ´óÐ͸´ÔÓÏîÄ¿µÄÐÔÄܸü¶àµØÌåÏÖÔڼܹ¹¡¢Ó²¼þÍØÆË½á¹¹Éϵȡ£Ó¦¶Ô ......