pythonÖеĶàÏß³Ì
2007-07-15
pythonÖеĶàỊ̈߳¨2£©
¹Ø¼ü×Ö: python thread threading
ÎÒÃÇÔÚÉÏÒ»ÕÂÖп´µ½Ê¹ÓÃthreading.Thread.join()¿ÉÒÔ±ÜÃâÖ÷³ÌÐòÔڵȴýÆäËüÏ߳̽áÊøµÄ¹ý³ÌÖеõ½Ê±¼äƬ¡£ÊÂʵÉÏ£¬ÔÚÏ̱߳à³ÌÖо³£»áÓöµ½Ò»¸öÏß³ÌÐèÒªµÈ´ýÁíÒ»¸öÏß³ÌÖеÄÇé¿ö¡£ÔÚÕâÖÖÇé¿öÏ£¬ÐèÒªÖØÉêµÄÊÇ£¬ÎÒÃDz»Ï£ÍûµÈ´ýµÄÏ̻߳ñµÃʱ¼äƬ¡£
½â¾öµÄ°ì·¨ÊÇʹÓÃÌõ¼þ±äÁ¿£¬¾ÍÏñËüµÄÃû³Æ£¬´úÂëʹÓÃËüÃÇÀ´µÈ´ýһЩÌõ¼þµÄ³ÉÁ¢¡£´ó¶àÊýÏß³Ìϵͳ¶¼Ö§³ÖÌõ¼þ±äÁ¿£¬pythonµÄthreading°üÒ²²»ÀýÍâ¡£
ÀýÈ磬pthreads°ü£¬Ê¹ÓÃpthread_condÀ´´ú±íÕâÖÖ±äÁ¿£¬²¢ÇÒÓк¯Êýpthread_cond_wait()£¬Ëü´ú±íÒ»¸öÏ̵߳÷ÓõȴýÒ»¸öʼþµÄ·¢Éú£»ÁíÒ»¸öº¯Êý,pthread_cond_signal()£¬ÁíÒ»¸öÏ̵߳÷Ó㬴ú±íÉùÃ÷µÈ´ýµÄÏß³ÌʼþÒѾ·¢Éú¡£
pythonÖеÄÌõ¼þ±äÁ¿½ÏÖ®CÓïÑÔÖеÄÀ´Ëµ¸üÈÝÒ×ʹÓ㬶ÔÓÚµÚÒ»²ã´ÎµÄÌõ¼þ±äÁ¿À´Ëµ£¬¿ÉÒÔʹÓÃÀàthreading.Condition,ËüÄܹ»ÔÚ´ó¶àÊýµÄÏß³ÌϵͳÖÐÁ¼ºÃµÄ¹¤×÷£¬µ«ÊÇʹÓÃÕâÖÖÌõ¼þ±äÁ¿ÐèÒª½øÐжîÍâµÄ½âËøºÍ±ÕËø²Ù×÷¡£
pythonÌṩÁËÒ»ÖÖ¸ü¸ß²ã´ÎµÄÀ࣬threading.Event,ËüÊǶÔÓÚthreading.ConditionµÄÒ»ÖÖ·â×°£¬¶øÇÒÔÚºǫ́×Ô¶¯´¦ÀíÓйصÄËø²Ù×÷¡£
½ÓÏÂÈ¥µÄÀý×Ó½«Ê¹ÓöàÏß³ÌÀ´ÊµÏÖÒ»¸ö¶Ë¿ÚɨÃèÆ÷£¬¶à¶Ë¿Ú²¢ÐÐɨÃ裬ÿ¸ö¶Ë¿Ú¶ÔÓ¦Ò»¸öỊ̈߳¬Í¬Ê±³ÌÐò¿ÉÒÔ¿ØÖÆÏ̵߳ĸöÊý¡£Èç¹ûÖ÷Ïß³Ì×¼±¸¶ÔÒ»¸öеĶ˿ڽøÐÐɨÃè²Ù×÷µ«ÊÇÒѾ´ïµ½Ïß³ÌÊýµÄÉÏÏÞʱ£¬Ö÷Ï̻߳áµÈ´ýÏß³ÌÊý¼õÉÙµ½Ïß³ÌÊýÉÏÏÞÒÔÏÂÔÙ½øÐÐж˿ڵÄɨÃ裬Õâ¸ö²½Öèͨ¹ýÌõ¼þ±äÁ¿À´ÊµÏÖ¡£
1 # portscanner.py: checks for active ports on a given machine; would be
2 # more realistic if checked several hosts at once; different threads
3 # check different ports; there is a self-imposed limit on the number of
4 # threads, and the event mechanism is used to wait if that limit is
5 # reached
6
7 # usage: python portscanner.py host maxthreads
8
9 import sys, threading, socket
10
11 class scanner(threading.Thread):
12 tlist = [] # list of all current scanner threads
13 maxthreads = int(sys.argv[2]) # max number of threads we’re allowing
14 evnt = threading.Event() # e
Ïà¹ØÎĵµ£º
ÒÔÏÂΪÎÒÔÚ´¦ÀíÍøÒ³±àÂëÎÊÌâ¿´µÄÎÄÕ£¬ÏÖÔÚдÅÀ³æ×Ô¼º´¦ÀíÍøÒ³±àÂëÎÊÌâȷʵ±È½ÏÂé·³£¬ÍøÒ³Ò²Ã»Óй涨
Ò»¶¨ÒªÔÚMETAÍ·ÐÅÏ¢Àï´ø±àÂëÐÅÏ¢£¬¶øºÜ¶àÈËдµÄ̽²â±àÂë¾ÍÊÇ»ñÈ¡META£¬ÕâÊDz»¿ÉÈ¡µÄ£¬¶øÓеÄÈËÔòÊÇ·ÖÎöHTTP·µ»ØµÄÊý¾Ý°üÀï±ßµÄ
charset£¬È磨a.headers.getparam('charset')£©£¬¶øHTTP°üûÓй涨һ¶¨Òª´øcharset£¬ËùÒ ......
http://blog.alexa-pro.cn/?p=197
1.´ò¿ªÎļþ´úÂëÈçÏ£º
>>> f = open(”d:test.txt”, “w”)
˵Ã÷£ºµÚÒ»¸ö²ÎÊýÊÇÎļþÃû³Æ£¬°üÀ¨Â·¾¶£»µÚ¶þ¸ö²ÎÊýÊÇ´ò¿ªµÄģʽmode’r'£ºÖ»¶Á£¨È±Ê¡¡£Èç¹ûÎļþ²»´æÔÚ£¬ÔòÅ׳ö´íÎ󣩒w'£ºÖ»Ð´£¨Èç¹ûÎļþ ²»´æÔÚ£¬Ôò×Ô¶¯´´½¨Îļþ£©’a'£º¸½¼ ......
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 ......
°²×°ÎļþÏÂÔØ:
MySQL-python-1.2.2.win32-py2.6.exe
https://docs.google.com/leaf?id=0B-C0ABoe2nuLMDlhZjI5OTQtMWNmYy00ZTNlLWJjNzMtYTc2Y2EzMGFjMzcy&hl=zh_CN
ÐèÒªµÄ¶îÍâdllÎļþÏÂÔØ:
libmmd.dll
https://docs.google.com/leaf?id=0B-C0ABoe2nuLZTk2M2RiZTAtYzY5My00NzNjLTg5ZWEtMzRkZGEyYjUxNThh&hl=zh_C ......
ÍøÂç³ô³æÒà¼´ÍøÂçÐű꣬ÊÇͨ¹ýijÖÖÊÖ¶ÎÒþʽ»ñÈ¡ÐÅÏ¢µÄµÄ·½·¨¡£
ÔÚbottle frameworkÖпÉÓÃÏÂÃæµÄ·½·¨ÊµÏÖ£º
Ê×ÏÈÔÚÄãÒªÓû§ä¯ÀÀÆ÷ÏÔʾµÄÒ³ÃætplÉÏǶÈëÒ»¸ö1*1ÏñËØµÄͼƬ£¬»ò¸üС¡£
Õâ¸öͼƬµØÖ·Ö¸ÏòÄã·þÎñÆ÷ÉÏij¸öÌØ¶¨Î»Öã¬Èçstatic/webtrack.png¡£
Óû§´ò¿ªÍøÒ³£¬¾Í»á·ÃÎÊÕâ¸öͼƬ£¨Í¨¹ýä¯ÀÀÆ÷Èçhttp://abc.abc.com/st ......