由于著名的GIL的存在,Python中虽然能创建多条线程,但却不能同时执行…anyway,这里我们还是来学习一下在Python中通过threading模块定义和调用线程的方法
定义线程
最简单的方法:使用target指定线程要执行的目标函数,再使用start()启动。
语法:
class threading.Thread(group=None, target=None, name=None, args=(), kwargs={})
group恒为None,保留未来使用。target为要执行的函数名。name为线程名,默认为Thread-N,通常使用默认即可。但服务器端程序线程功能不同时,建议命名。
#!/usr/bin/env python3
# coding=utf-8
import threading
def function(i):
print ("function called by thread {0}".format(i))
threads = []
for i in range(5):
t = threading.Thread(target=function , args=(i,))
threads.append(t)
t.start()
t.join()
执行结果
$ ./threading_define.py
function called by thread 0
function called by thread 1
function called by thread 2
function called by thread 3
function called by thread 4
确定当前线程