Python Ïß³Ìͬ²½
¶à¸öÖ´ÐÐÏ߳̾³£Òª¹²ÏíÊý¾Ý£¬Èç¹û½ö½ö¶ÁÈ¡¹²ÏíÊý¾Ý»¹ºÃ£¬µ«ÊÇÈç¹û¶à¸öÏß³ÌÒªÐ޸Ĺ²ÏíÊý¾ÝµÄ»°¾Í¿ÉÄܳöÏÖÎÞ·¨Ô¤ÁϵĽá¹û¡£
¼ÙÈçÁ½¸öÏ̶߳ÔÏót1
ºÍt2
¶¼Òª¶ÔÊýÖµnum=0
½øÐÐÔö1ÔËË㣬ÄÇôt1
ºÍt2
¶¼¸÷¶Ônum
ÐÞ¸Ä10
´ÎµÄ»°£¬ÄÇônum
×îÖյĽá¹ûÓ¦¸ÃΪ20
¡£µ«ÊÇÈç¹ûµ±t1
È¡µÃnum
µÄֵʱ£¨¼ÙÈç´Ëʱnum
Ϊ0
£©£¬ÏµÍ³°Ñt1
µ÷¶ÈΪ“sleeping
”״̬£¬¶ø´Ëʱt2
ת»»Îª“running
”״̬£¬´Ëʱt2
»ñµÃµÄnum
µÄֵҲΪ0
£¬È»ºóËû°Ñnum+1
µÄÖµ1
¸³¸ønum
¡£ÏµÍ³ÓÖ°Ñt2
ת»¯Îª“sleeping
”״̬£¬t1
Ϊ“running
”״̬£¬ÓÉÓÚt1
ÒѾµÃµ½num
ֵΪ0
£¬ËùÒÔËûÒ²°Ñnum+1
µÄÖµ¸³¸øÁËnum
Ϊ1
¡£±¾À´ÊÇ2
´ÎÔö1
ÔËÐУ¬½á¹ûÈ´ÊÇnum
Ö»ÔöÁË1
´Î¡£ÀàËÆÕâÑùµÄÇé¿öÔÚ¶àÏß³ÌͬʱִÐеÄʱºòÊÇÓпÉÄÜ·¢ÉúµÄ¡£ËùÒÔΪÁË·ÀÖ¹ÕâÀàÇé¿öµÄ³öÏÖ¾ÍҪʹÓÃÏß³Ìͬ²½»úÖÆ¡£
×î¼òµ¥µÄͬ²½»úÖÆ¾ÍÊÇ“Ëø”
Ëø¶ÔÏóÓÃthreading.RLock
Àà´´½¨
mylock = threading.RLock()
ÈçºÎʹÓÃËøÀ´Í¬²½Ïß³ÌÄØ£¿Ï߳̿ÉÒÔʹÓÃËøµÄacquire()
£¨»ñµÃ£©·½·¨£¬ÕâÑùËø¾Í½øÈë“locked
”״̬¡£Ã¿´ÎÖ»ÓÐÒ»¸öÏ߳̿ÉÒÔ»ñµÃËø¡£Èç¹ûµ±ÁíÒ»¸öÏß³ÌÊÔͼ»ñµÃÕâ¸öËøµÄʱºò£¬¾Í»á±»ÏµÍ³±äΪ“blocked
”״̬£¬Ö±µ½ÄǸöÓµÓÐËøµÄÏ̵߳÷ÓÃËøµÄrelease()
£¨ÊÍ·Å£©·½·¨£¬ÕâÑùËø¾Í»á½øÈë“unlocked
”״̬¡£“blocked
”״̬µÄÏ߳̾ͻáÊÕµ½Ò»¸ö֪ͨ£¬²¢ÓÐȨÀû»ñµÃËø¡£Èç¹û¶à¸öÏ̴߳¦ÓÚ“blocked
”״̬£¬ËùÓÐÏ̶߳¼»áÏȽâ³ý“blocked
”״̬£¬È»ºóϵͳѡÔñÒ»¸öÏß³ÌÀ´»ñµÃËø£¬ÆäËûµÄÏ̼߳ÌÐø³ÁĬ£¨“blocked
”£©¡£
import threading
mylock = threading.RLock()
class mythread(threading.Thread)
...
def run(self ...):
... #´Ë´¦ ²»¿ÉÒÔ
·ÅÖÃÐ޸Ĺ²ÏíÊý¾ÝµÄ´úÂë
mylock.acquire()
... #´Ë´¦ ¿ÉÒÔ
·ÅÖÃÐ޸Ĺ²ÏíÊý¾ÝµÄ´úÂë
mylock.release()
 
Ïà¹ØÎĵµ£º
DecoratorsÊÇpythonÖбȽÏÄÑÒÔÀí½âµÄ¶«Î÷£¬µ±È»Èç¹ûÄã½Ó´¥¹ýjavaµÄannotation£¬»á·¢ÏÖÕâ¸öDecoratorsÔÚÓï·¨ÉϷdz£µÄÏàËÆ£¬µ«ÊÇÁ½ÕßµÄÉè¼Æ¶¯»úȴûʲô¹²Í¬µã£»
ÕâÀï½²µÄpythonÖеÄdecoratorsÊǶÔpythonÖеÄfunction/method×ö×°ÊΣ¬ÕâЩÐÞÊνöÊǵ±ÉùÃ÷Ò»¸öº¯Êý»òÕß·½·¨µÄʱºò£¬²Å»áÓ¦ÓõĶîÍâµ÷Óá£
pythonÖеÄdecorator·Ö ......
ÓÃpythonдµÄץȡÌìÆøÔ¤±¨µÄ½Å±¾
http://blog.chinaunix.net/u2/82009/showart_2166843.html
´Ó×òÌ쿪ʼµÄ¿´¹ØÓÚÍøÂçץȡµÄ¶«Î÷£¬¶øÇÒ×Ô¼ºµÄÓõÄÊÇawesome £¬ËùÒÔдÁËÕâ¸öÌìÆøÔ¤±¨µÄ½Å±¾¸øÎÒµÄawesome£¬Õâ¸öÌìÆø½Å±¾Ö±½ÓÈ¡ÏÂÀ´µÄ»°ÊÇÆßÌìµÄÌìÆøÔ¤±¨´ÓÖйúÌìÆøÍøÉÏ£¬ÎÒºóÃæ¶ÔËü×öÁË´¦Àí£¬Óõ½ÁËÎÒµÄawesomeÉÏ
Ч¹û£º1ÈÕÐÇ ......
ÏеÄÎÞÁľͿ´ÁËÒ»µã¹ØÓÚpythonµÄ»ù´¡ÖªÊ¶£¬µ±Ê±Ò²²»ÖªµÀpythonºÍperlÖ®¼äÕùÂÛµÄÕâôµÄ¼¤ÁÒ£¨Ö÷ÒªÊǵ±Ê±²»ÖªµÀperlÕâ¸öÓïÑÔµÄÐÔÖÊ),ËùÒÔÖ±½Ó¾Í¿´ÁËpython£¬ÏÂÃæÊÇÎҵĵÚÒ»¸öÓÃpythonдµÄС³ÌÐòÔ´Â룬ϣÍûÅóÓÑÃǶà¶àÖ¸½Ì£¬ÓÐʲôÎÊÌâ´ó¼Ò¾¡¹ÜÖ¸Õý£¬ÔÚ´ËÏÈлл´ó¼ÒÁË¡£
[code]
#!/usr/bin/python
import sys, os, re
impor ......
Ò»¡¢Ê¹ÓÃPythonÐèÒªÖªµÀµÄ
ÔÚ Windows ÉÏ£¬°²×° Python ÓÐÁ½ÖÖÑ¡Ôñ¡£
1¡¢ActiveState ÖÆ×÷µÄ ActivePython ÊÇרÃÅÕë¶Ô Windows µÄ Python Ì×¼þ£¬Ëü°üº¬ÁËÒ»¸öÍêÕûµÄ Python ·¢²¼¡¢Ò»¸öÊÊÓÃÓÚPython ±à³ÌµÄ IDE ÒÔ¼°Ò»Ð© PythonµÄ Windows À©Õ¹£¬ÌṩÁËÈ«²¿µÄ·ÃÎÊ Windows APIs µÄ·þÎñ£¬ÒÔ¼° Windows×¢²á±íµÄ×¢²áÐÅÏ¢¡£ËäÈ ......