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

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()
        ...     #´Ë´¦ ²»¿ÉÒÔ ·ÅÖÃÐ޸Ĺ²ÏíÊý¾ÝµÄ´úÂë
 


Ïà¹ØÎĵµ£º

ZZ python´¦ÀíÖÐÎÄ


ÒÔÏÂΪÎÒÔÚ´¦ÀíÍøÒ³±àÂëÎÊÌâ¿´µÄÎÄÕ£¬ÏÖÔÚдÅÀ³æ×Ô¼º´¦ÀíÍøÒ³±àÂëÎÊÌâȷʵ±È½ÏÂé·³£¬ÍøÒ³Ò²Ã»Óй涨
Ò»¶¨ÒªÔÚMETAÍ·ÐÅÏ¢Àï´ø±àÂëÐÅÏ¢£¬¶øºÜ¶àÈËдµÄ̽²â±àÂë¾ÍÊÇ»ñÈ¡META£¬ÕâÊDz»¿ÉÈ¡µÄ£¬¶øÓеÄÈËÔòÊÇ·ÖÎöHTTP·µ»ØµÄÊý¾Ý°üÀï±ßµÄ
charset£¬È磨a.headers.getparam('charset')£©£¬¶øHTTP°üûÓй涨һ¶¨Òª´øcharset£¬ËùÒ ......

zzʹÓà Python ·ÖÀëÖÐÎÄÓëÓ¢ÎĵĻìºÏ×Ö´®

ʹÓà Python ·ÖÀëÖÐÎÄÓëÓ¢ÎĵĻìºÏ×Ö´®
LiYanrui

posted @ ´óÔ¼ 1 Äêǰ
in ³ÌÐòÉè¼Æ
with tags
python

, 614 ÔĶÁ


Õâ¸öÎÊÌâÊÇ×ö MkIV Ô¤´¦Àí³ÌÐò
ʱ¸ã¶¨µÄ£¬¾ÍÊǰÑÒ»¸ö»ìºÏÁËÖÐÓ¢ÎÄ»ìºÏ×Ö´®·ÖÀëΪӢÎÄÓëÖÐÎĵÄ×Ó×Ö´®£¬Æ©È磬½« ”ÎÒµÄ English ѧµÄ²»ºÃ
&ld ......

python udp c/s ¼Ç¼

server:
import sys
import socket
host = sys.argv[1]
port = int(sys.argv[2])
 
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
 
s.bind((host,port))
 
while 1:
    try:
   &n ......

python hidden features

from http://stackoverflow.com/questions/101268/hidden-features-of-python
http://www.okpython.com/bbs/thread-3434-1-1.html
http://www.okpython.com/bbs/thread-3436-1-2.html
http://www.okpython.com/bbs/thread-3437-1-2.html
http://www.okpython.com/bbs/thread-3438-1-1.html
http://www.okpython.com/bb ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ