欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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() 是让我们线程将所有的子线程全部执行完毕才执行主线程退出

相关标签: python多线程