关于python的线程问题
本帖最后由 proer 于 2020-7-25 10:42 编辑为什么主线程打印出来的不是完整的五次,是因为在打印的时候线程之间进行了切换导致的吗?感谢
import threading
def action(*add):
for arc in add:
print(threading.current_thread().getName() +" "+ arc)
my_tuple = ("http://c.biancheng.net/python/",\
"http://c.biancheng.net/shell/",\
"http://c.biancheng.net/java/")
thread = threading.Thread(target=action,args=my_tuple)
thread.start()
for i in range(5):# 为什么主线程打印出来不是固定的5次,而是不确定的
print(threading.current_thread().getName())
'''
Thread-1 http://c.biancheng.net/python/MainThread
MainThread
MainThread
MainThread
MainThread
Thread-1 http://c.biancheng.net/shell/
Thread-1 http://c.biancheng.net/java/
'''
'''
Thread-1 http://c.biancheng.net/python/MainThread
MainThread
MainThread
MainThread
MainThread
Thread-1 http://c.biancheng.net/shell/
Thread-1 http://c.biancheng.net/java/
'''
多线程有的时候两个线程正好同时运行到 print ,导致打印在同一行,实际上有打印 5 次
每次线程进度不一致,导致打印结果每次都不一样,但是打印出的次数一定会对应的上
Twilight6 发表于 2020-7-25 12:23
多线程有的时候两个线程正好同时运行到 print ,导致打印在同一行,实际上有打印 5 次
每次线程 ...
谢谢,刚发现第一行有一个{:10_306:}
页:
[1]