如何在Python中实现多线程
Python有一个多线程库,但是用多线程来加速代码的效果并不是那么的好,
Python有一个名为Global Interpreter Lock(GIL)的结构。GIL确保每次只能执行一个“线程”。一个线程获取GIL执行相关操作,然后将GIL传递到下一个线程。
虽然看起来程序被多线程并行执行,但它们实际上只是轮流使用相同的CPU核心。
所有这些GIL传递都增加了执行的开销。这意味着多线程并不能让程序运行的更快。
是否可以考虑协程?
循环names列表,打印每个元素的索引值和元素,当索引值为偶数时,把对应的元素改成-1。(考点列表元素,索引循环)
1
2
3
4
5
6
7
8
9for index,i in enumerate(names):
if index%2==0:
names[index]=-1
print("索引 %d 为偶数,值已重置 ",index)
print(names)