线程锁

Posted Brown羊羊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程锁相关的知识,希望对你有一定的参考价值。

初试

# -*- coding:utf-8 -*- 
# Author:Brownyangyang
import threading
import time


def sayhi(n):
    lock.acquire()  ##加锁,只有我这个线程才可以解锁,其他线程无法修改值
    global num
    num += 1
    lock.release()  ##解锁


lock = threading.Lock()  ##实例化一把锁
num = 0

#if __name__ == ‘__main__‘:

#start_time=time.time()

item_liyan = []
for i in range(500):
    t = threading.Thread(target=sayhi,args=(i,))
    #t.setDaemon(True) ##把当前线程设置成守护线程,主进程执行完不会等子进程

    t.start()
    #t2.start()
    item_liyan.append(t)

# for j in item_liyan:
#     j.join() ##join等待子线程运行完毕


print("number %s" %num)
print(threading.current_thread()) ##打印主线程

    #print(t1.getName())
    #print(t2.getName())

 

以上是关于线程锁的主要内容,如果未能解决你的问题,请参考以下文章

并发技术12线程锁技术的使用

java并发线程锁技术的使用

互斥锁 & 共享锁

线程方法区别

起底多线程同步锁(iOS)

互斥锁自旋锁读写锁和条件变量