开始学习Python线程
Python中使用线程有两种方式:函数或者用类来包装线程对象。
函数式:调用thread模块中的start_new_thread()函数来产生新线程。语法如下:
thread.start_new_thread (function, args[, kwargs])
参数说明:
- function - 线程函数。
- args - 传递给线程函数的参数,他必须是个tuple类型。
- kwargs - 可选参数。
实例(Python 2.0+)
#!/usr/bin/python# -*- coding: UTF-8 -*-importthreadimporttime# 为线程定义一个函数defprint_time(threadName, delay): count = 0 whilecount < 5: time.sleep(delay) count += 1 print"%s: %s" % (threadName, time.ctime(time.time()))# 创建两个线程try: thread.start_new_thread(print_time, ("Thread-1", 2, )) thread.start_new_thread(print_time, ("Thread-2", 4, ))except: print"Error: unable to start thread"while1: pass
执行以上程序输出结果如下:
Thread-1:ThuJan2215:42:172009
Thread-1:ThuJan2215:42:192009
Thread-2:ThuJan2215:42:192009
Thread-1:ThuJan2215:42:212009
Thread-2:ThuJan2215:42:232009
Thread-1:ThuJan2215:42:232009
Thread-1:ThuJan2215:42:252009
Thread-2:ThuJan2215:42:272009
Thread-2:ThuJan2215:42:312009
Thread-2:ThuJan2215:42:352009
线程的结束一般依靠线程函数的自然结束;也可以在线程函数中调用thread.exit(),他抛出SystemExit exception,达到退出线程的目的。