Python的死锁

死锁:两个或两个以上的进程(线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,程序无法推进

from threading import *

lock = Lock()

def get_value(index):
    lock.acquire()
    list1 = [1,2,3,4]
    if index >= len(list1):
        print('下标越界',index)
        # 注释掉下面的解锁就会发生死锁
        lock.release()
        return
    value = list1[index]
    print(value)
    lock.release()

if __name__ == '__main__':
    for i in range(10):
        gv = Thread(target=get_value,args=(i,))
        gv.start()

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...