1 import threading 2 import time 3 4 num = 100 5 def add(): 6 global num 7 s = num 8 time.sleep(0.02) 9 num = s - 1 10 11 l = list() 12 for i in range ...
分类:
其他好文 时间:
2020-04-13 00:22:13
阅读次数:
65
一、Threading.local 通过Threading.local实现本地存储隔离;当我们开启多线程来执行func函数,通过自定义的Foo类来存储数据时,我们发现最终的输出结果是全部的线程打印的都是一个最终的数字10,这是因为这样存储的数据线程之间是共享的,当最后一个线程执行func函数时,由于 ...
分类:
其他好文 时间:
2020-04-12 16:39:01
阅读次数:
63
1 import time 2 from threading import Thread,Lock 3 #创建3把互斥锁 4 lock1 = Lock() 5 lock2 = Lock() 6 lock3 = Lock() 7 #对lock2和lock3上锁 8 lock2.acquire() 9 ...
分类:
编程语言 时间:
2020-04-12 00:10:45
阅读次数:
87
1 import time 2 from threading import* 3 #定义全局变量num 4 num = 0 5 def test1(): 6 global num 7 for i in range(100000): 8 num+=1 9 print('test1输出num:',num ...
分类:
编程语言 时间:
2020-04-12 00:04:02
阅读次数:
89
1 import time 2 from threading import Thread,Lock 3 #定义全局变量num 4 num=0 5 #创建一把互斥锁 6 lock = Lock() 7 def test1(): 8 global num 9 ''' 10 在两个线程中都调用上锁的方法, ...
分类:
其他好文 时间:
2020-04-11 23:45:23
阅读次数:
84
import timefrom threading import Threaddef long_io(cb): def func(callback): print("开始耗时操作io") time.sleep(5) print("io耗时操作完成") res = "io res" callback( ...
分类:
编程语言 时间:
2020-04-11 23:43:31
阅读次数:
87
一、线程创建方法 1. 普通创建 import threadingdef run(name): for i in range(3): print(name) if __name__ == '__main__': t1 = threading.Thread(target=run, args=("t1" ...
分类:
编程语言 时间:
2020-04-11 11:30:29
阅读次数:
86
界面: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading ...
分类:
其他好文 时间:
2020-04-10 13:34:45
阅读次数:
273
资源总是有限的,程序运行如果对同一个对象进行操作,则有可能造成资源竞争,也可能导致读写混乱,此时需要引入锁。 锁提供如下方法: 1.Lock.acquire([blocking]) # 上锁2.Lock.release() # 解锁3.threading.Lock() # 加载线程的锁对象,是一个基 ...
分类:
其他好文 时间:
2020-04-09 00:59:21
阅读次数:
101
Python无限弹窗,打包为exe程序开机自启动,娱乐小程序。importtkinterastkimportrandom,threading,win32api,win32con,shutil,os,sysdefMymovefile():#移动程序到当前分区下命名为ARE_YOU_OKAY.exe。朋友问删了为什么还会执行。当然是因为有备份,玩够了就在分区下面删除这个吧。ifnotos.path.e
分类:
编程语言 时间:
2020-04-07 20:58:59
阅读次数:
436