Python±ê×¼¿âµÄthreading.ThreadÀà
Õâ¸öÀà±íʾÔÚµ¥¶ÀµÄ¿ØÖÆÏß³ÌÖÐÔËÐеĻ¡£ÓÐÁ½ÖÖ·½·¨¿ÉÒÔÖ¸¶¨ÕâÖֻ£¬¸ø¹¹Ô캯Êý´«µÝ»Øµ÷¶ÔÏ󣬻òÕßÔÚ×ÓÀàÖÐÖØÐ´run() ·½·¨¡£ÆäËû·½·¨£¨³ýÁ˹¹Ô캯Êý)¶¼²»Ó¦ÔÚ×ÓÀàÖб»ÖØÐ´¡£»»¾ä»°Ëµ£¬ÔÚ×ÓÀàÖÐÖ»ÓÐ__init__()ºÍrun()·½·¨±»ÖØÐ´¡£
Ò»µ©Ï̶߳ÔÏó±»´´½¨£¬ËüµÄ»î¶¯ÐèҪͨ¹ýµ÷ÓÃÏ̵߳Ästart()·½·¨À´Æô¶¯¡£Õâ·½·¨ÔÙµ÷ÓÿØÖÆÏß³ÌÖеÄrun·½·¨¡£
Ò»µ©Ï̱߳»¼¤»î£¬ÔòÕâÏ̱߳»ÈÏΪÊÇ'alive'(»î¶¯)¡£µ±ËüµÄrun()·½·¨ÖÕֹʱ-Õý³£Í˳ö»òÅ׳öδ´¦ÀíµÄÒì³££¬Ôò»î¶¯×´Ì¬Í£Ö¹¡£isAlive()·½·¨²âÊÔÏß³ÌÊÇ·ñÊǻµÄ¡£
Ò»¸öÏß³ÌÄܵ÷ÓñðµÄÏ̵߳Äjoin()·½·¨¡£Õ⽫×èÈûµ÷ÓÃỊ̈߳¬Ö±µ½ÓµÓÐjoin()·½·¨µÄÏ̵߳ĵ÷ÓÃÖÕÖ¹¡£
Ïß³ÌÓÐÃû×Ö¡£Ãû×ÖÄÜ´«¸ø¹¹Ô캯Êý£¬Í¨¹ýsetName()·½·¨ÉèÖã¬ÓÃgetName()·½·¨»ñÈ¡¡£
Ïß³ÌÄܱ»±êʶΪ'daemon thread'(ÊØ»¤Ïß³Ì).Õâ±êÖ¾µÄÌØµãÊǵ±Ê£ÏµÄÈ«ÊÇÊØ»¤Ïß³Ìʱ£¬ÔòPython³ÌÐòÍ˳ö¡£ËüµÄ³õʼֵ¼Ì³ÐÓÚ´´½¨Ï̡߳£Õâ±êÖ¾ÓÃsetDaemon()·½·¨ÉèÖã¬ÓÃisDaemon()»ñÈ¡¡£
´æÔÚ'main thread'(Ö÷Ïß³Ì),Ëü¶ÔÓ¦ÓÚPython³ÌÐòµÄ³õʼ¿ØÖÆÏ̡߳£Ëü²»ÊǺǫ́Ï̡߳£
ÓпÉÄÜ´æÔÚ'dummy thread objects'(ÑÆÏ̶߳ÔÏó)±»´´½¨¡£ÕâЩÏ̶߳ÔÓ¦ÓÚ'alien threads'(ÍⲿÏß³Ì),ËüÃÇÔÚPythonµÄÏß³ÌÄ£ÐÍÖ®Íâ±»Æô¶¯£¬ÏñÖ±½Ó´ÓCÓïÑÔ´úÂëÖÐÆô¶¯¡£ÑÆÏ̶߳ÔÏóÖ»ÓÐÓÐÏ޵ŦÄÜ£¬ËüÃÇ×ÜÊDZ»ÈÏΪÊǻµÄ£¬ÊØ»¤Ị̈߳¬²»ÄÜʹÓÃjoin()·½·¨¡£ËüÃÇ´Ó²»Äܱ»É¾³ý£¬¼ÈÈ»ËüÎÞ·¨¼à²âµ½ÍⲿÏ̵߳ÄÖÐÖ¹¡£
class Thread(group=None, target=None, name=None, args=(), kwargs={})
¹¹Ô캯ÊýÄÜ´øÓйؼü×Ö²ÎÊý±»µ÷Óá£ÕâЩ²ÎÊýÊÇ:
group Ó¦µ±Îª None£¬Îª½«À´ÊµÏÖThreadGroupÀàµÄÀ©Õ¹¶ø±£Áô¡£
target ÊDZ» run()·½·¨µ÷ÓõĻص÷¶ÔÏó. ĬÈÏӦΪNone, Òâζ×ÅûÓжÔÏó±»µ÷Óá£
name ΪÏß³ÌÃû×Ö¡£Ä¬ÈÏ£¬ÐÎʽΪ'Thread-N'µÄΨһµÄÃû×Ö±»´´½¨£¬ÆäÖÐN ÊDZȽÏСµÄÊ®½øÖÆÊý¡£
argsÊÇÄ¿±êµ÷ÓòÎÊýµÄtuple£¬Ä¬ÈÏΪ()¡£
kwargsÊÇÄ¿±êµ÷ÓõIJÎÊýµÄ¹Ø¼ü×Ödictionary£¬Ä¬ÈÏΪ{}¡£
Èç¹û×ÓÏß³ÌÖØÐ´Á˹¹Ô캯Êý£¬ËüÓ¦±£Ö¤µ÷ÓûùÀàµÄ¹¹Ô캯Êý(Thread.__init__())£¬ÔÚÏß³ÌÖнøÐÐÆäËû¹¤×÷֮ǰ¡£
start() Æô¶¯Ï̻߳¡£
ÔÚÿ¸öÏ̶߳ÔÏóÖÐ×î¶à±»µ÷ÓÃÒ»´Î¡£Ëü°²ÅŶÔÏóµÄrun() ±»µ÷ÓÃÔÚÒ»µ¥¶ÀµÄ¿ØÖÆÏß³ÌÖС£
run()
ÓÃÒÔ±íʾÏ̻߳µÄ·½·¨¡£
Äã¿ÉÄÜÔÚ×ÓÀàÖØÐ´Õâ·½·¨¡£±ê×¼µÄ run()·½·¨µ÷ÓÃ×÷Ϊtarget´«µÝ¸ø¶ÔÏó¹¹Ô캯ÊýµÄ»Øµ÷¶ÔÏó¡£Èç¹û´æÔÚ²ÎÊý£¬Ò»ÏµÁйؼü×Ö²ÎÊý´ÓargsºÍkwargs²ÎÊýÏàÓ¦µØÆð×÷Óá£
join([
Ïà¹ØÎĵµ£º
%a ÐÇÆÚ¼¸µÄ¼òд
%A ÐÇÆÚ¼¸µÄÈ«³Æ
%b Ô·ֵļòд
%B Ô·ݵÄÈ«³Æ
%c ±ê×¼µÄÈÕÆÚµÄʱ¼ä´®
%C
Äê·ÝµÄºóÁ½Î»Êý×Ö
%d Ê®½øÖƱíʾµÄÿÔµĵڼ¸Ìì
%D ÔÂ/Ìì/Äê
%e ÔÚÁ½×Ö·ûÓòÖУ¬Ê®½øÖƱíʾµÄÿÔµĵڼ¸Ìì
%F
Äê-ÔÂ-ÈÕ
%g Äê·ÝµÄºóÁ½Î»Êý×Ö£¬Ê¹ÓûùÓÚÖܵÄÄê
%G Äê·Ö£¬Ê¹ÓûùÓÚÖܵÄÄê
%h ¼òдµÄÔ·ÝÃû ......
[Ô´´]Python´úÂëÄ£¿éÈȸüлúÖÆÊµÏÖ(reload)
by AKara 2009-05-17 @ http://blog.csdn.net/akara @ akaras@163.com
---------------------------------------------------------------------
¶ÔÒ»¸öÓÎÏ·À´Ëµ£¬ÎÞÂÛÊÇclient»òserver¶¼·Ç³£ÐèÒªÒ»Ì×´úÂëÈȸüеĻúÖÆ¡£
ËüÄÜ´ó´óÌá¸ß¿ª·¢Ð§ÂÊ£¬ÓÖÄܳ¬ºõÍæ ......
myDict = { 'item1' : [ 7, 1, 9], 'item2' : [8, 2, 3], 'item3' : [ 9, 3, 11 ] }
def sortDic(Dict,valuePostion):
return sorted(Dict.items(),key=lambda e:e[1][valuePostion])
//°´valueµÄµÚ3¸öÖµÅÅÐò
sortDic(myDict,2)
[('item2', [8, 2, 3]), ('item1', [7, 1, 9]), ('item3', [9, 3, 11])]
//°´valueµÄµÚ ......
£¨Ò»£© py2exe¼ò½é
py2exeÊÇÒ»¸ö½«python½Å±¾×ª»»³ÉwindowsÉϵĿɶÀÁ¢Ö´ÐеĿÉÖ´ÐгÌÐò(*.exe)µÄ¹¤¾ß£¬ÕâÑù£¬Äã¾Í¿ÉÒÔ²»ÓÃ×°python¶øÔÚ
windowsϵͳÉÏÔËÐÐÕâ¸ö¿ÉÖ´ÐгÌÐò¡£
¡¡¡¡
¡¡¡¡py2exeÒѾ±»ÓÃÓÚ´´½¨
wxPython,Tkinter,Pmw,PyGTK,pygame,win32com
clientºÍserver,ºÍÆäËüµÄ¶ÀÁ¢³ ......