python的多线程是怎么由GIL控制的,python 多进程 gil

  python的多线程是怎么由GIL控制的,python 多进程 gil

  1、说明

  GIL对I/O绑定的多线程程序的性能几乎没有影响,因为线程在等待I/O时共享锁

  GIL对计算绑定多线程程序有影响。比如:使用线程处理部分图像的程序,不仅会因为锁而变成单线程,还会看到执行时间的增加,这是锁的获取和释放的结果。

  2、实例

  顺序单线程执行(single_thread.py)

  导入线程

  进口时间

  deftest_counter():

  i=0

  for_inrange(100000000):

  i=1

  返回真

  defmain():

  start_time=time.time()

  福丁兰奇(二):

  t1=线程。线程(target=test_counter)

  t1.start()

  t1.join()

  end_time=time.time()

  打印( Totaltime:{} )。格式(结束时间-开始时间))

  if__name__==__main__:

  Main()以上是GIL在Python多线程中的应用。希望能帮到你。流行的IT软件开发工作室提供了更多的知识。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: