码迷,mamicode.com
首页 > 编程语言 > 详细

线程—同步之互斥锁

时间:2015-06-13 15:34:19      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

线程互斥:实质某一资源同时只允许一个访问者对其进行访问,具有唯一性和排他性。

import threading

import time

g_lock = threading.Lock()

def func():

    global tmp

    global g_lock

    g_lock.acquire()

    for i in range(20,40):

        tmp = i]

        print “%s:tmp = %d”%(threading.currentThread(),getName(),tmp)

        time.sleep(1)

    g_lock.release()

    p.join()

  • 线程死锁:死锁就是系统进入到一种阻塞的,无法移动的状态。
  • 死所出现情况:一个线程占有锁之后又去占有锁。
  1. 占有锁后,忘记释放。
  2. 占有锁,然后调用其他函数又去占有锁。
  • 线程死锁避免,代码书写小心,保证占有和释放成对出现。
  • 线程饿死:一个线程长时间得不到需要的资源而不能执行的现象。
  • 线程饿死避免:线程队列,或者结合其他同步方式。

线程—同步之互斥锁

标签:

原文地址:http://www.cnblogs.com/pylab/p/4573495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!