baikeryoyo 发表于 2021-8-19 12:11

关于Python多线程

今天学习如何使用多线程
代码如下:
import threading

def time():
    i = 10
    lock = threading.Lock()
    lock.acquire()
    while i > 0:
      print("this is", i, "number is", threading.current_thread())
      i -= 1
    lock.release()

def main():
    add_thread = []
    add_thread.append(threading.Thread(target=time))
    add_thread.append(threading.Thread(target=time))
    print(add_thread)
    for i in add_thread:
      i.start()
      i.join()


if __name__ == '__main__':
    main()

我的想法是
创建一个执行10次的循环,由两个线程分别执行五次
但是实际输出的却是两个线程都完整的把10次循环执行结束
我该怎么做才能让代码达到我所预想的

zucker 发表于 2021-8-20 09:52

由两个线程分别执行五次,这个可控制?不是随机的吗?你样本太少,看不出吧

baikeryoyo 发表于 2021-8-20 13:37

zucker 发表于 2021-8-20 09:52
由两个线程分别执行五次,这个可控制?不是随机的吗?你样本太少,看不出吧

我好像搞懂了,这里样本是通过循环来递增的,其他线程不可能从某次递增之后开始算,只能从一开始设定好的变量开始
页: [1]
查看完整版本: 关于Python多线程