线程安全
01.线程安全是指,执行一段代码,不会产生不确定的结果;反之称为不安全的线程。
- 非安全线程的示例:
import threading
def worker():
for x in range(100):
print("{} is running.".format(threading.current_thread().name))
for x in range(1, 5):
name = "worker{}".format(x)
t = threading.Thread(name=name, target=worker)
t.start()
- print()函数执行时被线程切换打断了;print()函数分为两步,第一步打印字符串,第二步打印换行。
- print()函数的线程安全可以通过手动在函数中设置换行符来解决,比如:
def worker(): for x in range(100): print("{} is running\n.".format(threading.current_thread().name), end='')
- 使用logging模块代替print()函数可保证线程安全。
文档更新时间: 2021-10-04 00:19 作者:闻骏