python中gil锁和线程锁,python3 gil锁

  python中gil锁和线程锁,python3 gil锁

  1、流程

  (1)先尝试去获取互斥量互斥体,如果获取失败,则循环监控锁定的状态,等待持有锁的线程释放锁

  (2)如果获取到互斥量,将锁定的状态置1,表示锁已被该线程持有,其他线程需要等待,然后释放互斥量,让其他线程有机会进入临界区等待上锁

  2、实例

  intPyThread _ acquire _ lock(python read _ type _ lock lock,intwaitflag)

  {

  intsuccess

  pthread _ lock * lock=(pthread _ lock *)lock;

  intstatus,error=0;

  status=pthread _ mutex _ lock(thelock-mut);

  成功=锁-被锁==0;

  如果(!successwaitflag){

  而(锁定){

  status=pthread_cond_wait(锁锁_释放,

  锁-mut);

  }

  成功=1;

  }

  如果(成功)thelock-locked=1;

  status=pthread _ mutex _ unlock(thelock-mut);

  如果(错误)成功=0;

  return成功

  }以上就是计算机编程语言获取GIL锁的流程,希望对大家有所帮助。更多计算机编程语言学习推荐:python教学

  本文教程操作环境:windows7系统、Python 3.9.1、戴尔自交第三代电脑。

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

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