Python Ï̲߳Ù×÷
ÔÚpythonÖÐÈçºÎ´´½¨Ò»¸öÏ̶߳ÔÏó
Èç¹ûÄãÒª´´½¨Ò»¸öÏ̶߳ÔÏ󣬺ܼòµ¥£¬Ö»ÒªÄãµÄÀà¼Ì³Ðthreading.Thread£¬È»ºóÔÚ__init__ÀïÊ×Ïȵ÷ÓÃthreading.ThreadµÄ__init__·½·¨¼´¿É
import threading
class mythread(threading.Thread):
def __init__(self, threadname):
threading.Thread.__init__(self, name = threadname)
....
Õâ²Å½ö½öÊǸö¿ÕỊ̈߳¬Îҿɲ»ÊÇÒªËûÀ¿Õ³µµÄ£¬Ëû¿ÉµÃ¸øÎҸɵãʵÔڻºÜ¼òµ¥£¬ÖØÐ´ÀàµÄrun()·½·¨¼´¿É£¬°ÑÄãÒªÔÚÏß³ÌÖ´ÐÐʱ×öµÄÊÂÇé¶¼·Åµ½ÀïÃæ
import threading
import time
class mythread(threading.Thread):
def __init__(...):
....
def run(self):
for i in range(10):
print self.getName, i
time.sleep(1)
ÒÔÉÏ´úÂëÎÒÃÇÈÃÕâ¸öÏß³ÌÔÚÖ´ÐÐÖ®ºóÿ¸ô1ÃëÊä³öÒ»´ÎÐÅÏ¢µ½ÆÁÄ»£¬10´Îºó½áÊø
getName()ÊÇthreading.ThreadÀàµÄÒ»¸ö·½·¨£¬ÓÃÀ´»ñµÃÕâ¸öÏ̶߳ÔÏóµÄname¡£»¹ÓÐÒ»¸ö·½·¨setName()µ±È»¾ÍÊÇÀ´ÉèÖÃÕâ¸öÏ̶߳ÔÏóµÄnameµÄÁË¡£
Èç¹ûÒª´´½¨Ò»¸öỊ̈߳¬Ê×ÏȾÍÒªÏÈ´´½¨Ò»¸öÏ̶߳ÔÏó
mythread1 = mythread('mythread 1')
Ò»¸öÏ̶߳ÔÏó±»´´½¨ºó£¬Ëû¾Í´¦ÓÚ“born”£¨µ®Éú״̬£©
ÈçºÎÈÃÕâ¸öÏ̶߳ÔÏó¿ªÊ¼ÔËÐÐÄØ?Ö»Òªµ÷ÓÃÏ̶߳ÔÏóµÄstart()·½·¨¼´¿É
mythread1.start()
ÏÖÔÚÏ߳̾ʹ¦ÓÚ“ready”״̬»òÕßÒ²³ÆÎª“runnable”״̬¡£
Ææ¹ÖÂ𣿲»ÊÇÒѾstartÁËÂð£¿ÎªÊ²Ã´²»³ÆÎª“running”×´Ì¬ÄØ£¿ÆäʵÊÇÓÐÔÒòµÄ¡£ÒòΪÎÒÃǵļÆËã»úÒ»°ãÊDz»¾ßÓÐÕæÕý²¢Ðд¦ÀíÄÜÁ¦µÄ¡£ÎÒÃÇËùνµÄ¶àÏß³ÌÖ»ÊǰÑʱ¼ä·Ö³ÉƬ¶Î£¬È»ºó¸ôÒ»¸öʱ¼ä¶Î¾ÍÈÃÒ»¸öÏß³ÌÖ´ÐÐһϣ¬È»ºó½øÈë“sleeping ”״̬£¬È»ºó»½ÐÑÁíÒ»¸öÔÚ“sleeping”µÄỊ̈߳¬Èç´ËÑ»·runnable->sleeping->runnable... £¬Ö»ÊÇÒòΪ¼ÆËã»úÖ´ÐÐËٶȺܿ죬¶øÊ±¼äƬ¶Î¼ä¸ôºÜС£¬ÎÒÃǸÐÊܲ»µ½£¬ÒÔΪÊÇͬʱ½øÐеġ£ËùÒÔ˵һ¸öÏß³ÌÔÚstartÁËÖ®ºóÖ»ÊÇ´¦ÔÚÁË¿ÉÒÔÔËÐеÄ״̬£¬ËûʲôʱºòÔËÐл¹ÊÇÓÉϵͳÀ´½øÐе÷¶ÈµÄ¡£
ÄÇÒ»¸öÏß³Ìʲôʱºò»á“dead”ÄØ£¿Ò»°ãÀ´Ëµµ±Ï̶߳ÔÏóµÄrun·½·¨Ö´ÐнáÊø»òÕßÔÚÖ´ÐÐÖÐÅ׳öÒì³£µÄ»°£¬ÄÇôÕâ¸öÏ߳̾ͻá½áÊøÁË¡£ÏµÍ³»á
Ïà¹ØÎĵµ£º
ת×Ô http://hi.baidu.com/xunxun129/blog/item/3befad0f8ff992c07bcbe180.html
ÓÐʱÎÒÃÇÐèÒªÔÚ Python ÖÐʹÓà zip Îļþ£¬¶øÔÚ1.6°æÖУ¬Python ¾ÍÒѾÌṩÁË zipfile Ä£¿é¿ÉÒÔ½øÐÐÕâÑùµÄ²Ù×÷¡£²»¹ý Python ÖÐµÄ zipfile Ä£¿é²»ÄÜ´¦Àí¶à¾íµÄÇé¿ö£¬²»¹ýÕâÖÖÇé¿ö²¢²»¶à¼û£¬Òò´ËÔÚͨ³£Çé¿öÏÂÒѾ×㹻ʹÓÃÁË¡£ÏÂÃæÎÒÖ»ÊÇ¶Ô ......
http://code.google.com/p/android-scripting/
Android¿ªÊ¼Ö§³Ö½Å±¾ÓïÑÔPython¡¢Lua¼°Beanshell£¬Î´À´»¹½«Ö§³ÖRuby
×÷Õß Werner Schuster ÒëÕß ÕÅÁú ·¢²¼ÓÚ 2009Äê7ÔÂ5ÈÕ
Android Scripting Environment£¨ASE£©ÏîĿΪAndroidÔö¼ÓÁ˽ű¾Ö§³Ö¡£Í¨¹ý°²×°ASE£¬ÎÒÃÇ¿ÉÒÔÔÚÉ豸Éϱàд½Å±¾²¢Ö´ÐС£
ËäÈ»ÏÖÔÚÒѾӿÏÖ³öÁ ......
ÎÒÏȸøÒ»¸ö³õ²½µÄ±í¸ñ°É£¬´ó¼ÒÈç¹ûÓÐʲôÒâ¼û£¬»òÓв¹³ä£¬»¶ÓÌá³ö¡£ÓÐЩÎÒûÓÐÓùý£¬ÏȲ»Ð´ÁË¡£
ÒÔÏÂÊÇÎÒʹÓùýµÄpython IDE:
³ýÁËPythonWin, VisualPythonÖ»Ö§³ÖWindows£¬ÆäËü¶¼ÖÁÉÙÖ§³ÖWin/Linux/Mac¡£
¸÷ÏÒ壺
×Ô¶¯²¹È«£º±äÁ¿/º¯ÊýÃû´òµ½Ò»°ëʱ£¬Ìáʾ¿ÉÄܵÄÍêÕûµÄ±äÁ¿/º¯ÊýÃû¡ ......
import os
import unittest # °üº¬µ¥Ôª²âÊÔÄ£¿é
import sqlite3 as sqlite # °üº¬sqlite3Ä£¿é
def get_db_path():
return "sqlite_testdb"
class TransactionTests(unittest.TestCase): # µ¥Ôª²âÊÔµÚÒ»²½:¡¡ÓÉTestCaseÅÉÉúÀà
def setUp(self): # µ¥Ôª²âÊÔ»·¾³ÅäÖÃ
......
http://chardet.feedparser.org/ ×Ô¶¯¼ì²â±àÂë
http://effbot.org/zone/celementtree.htm cElementTree
http://github.com/jaybaird/python-bloomfilter bloomfilter
http://docs.python.org/library/threading.html#threading.activeCount threading ......