解锁式学习
1人加入学习
(0人评价)
Python基础知识学习
价格 免费
该课程属于 949-刘同学-python方向-python数据分析-就业:否 请加入后再学习

threading

threading.Lock  同步原语 -- 锁

需要共享的数据操作时用

【1】.acquire() 获得

【2】.release() 释放

【3】支持上下文操作 with lock:

 

 

import threading

import time

import random

 

eggs = []

lock - threading.Lock()

 

def put_egg (n, lst):

    lock.acqire()    

    for i in range (1,n+1)

        time.sleep(random,randint(0,2))

        lst.append(i)

    lock.release()

 

//或:

 

def put_egg (n, lst):

    with lock:   

        for i in range (1,n+1)

            time.sleep(random,randint(0,2))

            lst.append(i)

 

 

def main():

    treads = []

    for i in range (3):

        t - threading.Thread (target = put_egg, args = (5, eggs))

        threads.append(t)

 

    for t in threads:

        t.start()

    for t in threads:

        t.join()

    print(eggs)

[展开全文]

授课教师

高级算法工程师
老师

课程特色

视频(61)
考试(14)
练习(12)

最新学员