python的多线程
程序员文章站
2024-03-23 18:16:28
...
线程
进程就是一辆车,线程就是车里的司机,每个车都必须有个司机把,所以说进程至少有一个线程。
主线程执行完毕,子线程也立马停止
java实现多线程的方式, 这是面试java时候经常问到的基础问题
1) 继承Thread类创建线程
2)实现Runnable接口创建线程
python实现方式我也是
theading.Thread模块的应用
具体代码实现
1: 单线程
from time import ctime, sleep
def function1():
for i in range(2):
print(" 我是方法1.%s%s" % ("时间是:" ,ctime()))
sleep(1)
def function2():
for i in range(2):
print(" 我是方法2.%s%s" % ("时间是:" ,ctime()))
sleep(5)
这是按照固定顺序执行每一步都是实现一个线程
2: 多线程
import threading
from time import ctime, sleep
def function1(func):
for i in range(2):
print("我是线程1 %s? %s" % (func, ctime()))
sleep(4)
def function2(func):
for i in range(2):
print("我是线程2 %s? %s" % (func, ctime()))
sleep(5)
thred = []
thred1 = threading.Thread(target=function1, args=(u"凉凉夜色",))
thred.append(thred1)
thred2 = threading.Thread(target=function2, args=(u"回村的诱惑",))
thred.append(thred2)
if __name__ == "__main__":
for t in thred:
t.setDaemon(True)
t.start()
# t.join()
print("我是主线程%s" %ctime())
setDaemon(True) 是将进程设置位守护进程,主线程执行完毕,子线程强制停下
其中#join() 是让我们线程将所有的子线程全部执行完毕才执行主线程退出