数据库
首页 > 数据库> > Python--day41--事件和信号量之模拟连接数据库并在连接三次后抛出连接超时异常

Python--day41--事件和信号量之模拟连接数据库并在连接三次后抛出连接超时异常

作者:互联网

#事件被创建的时候
#False状态
#wait()阻塞
#True状态
#wait() 非阻塞
#clear 设置状态为False
#set 设置状态为True

#数据库 --- 文件夹
#文件夹里有好多excel表格
#1.能够更方便的对数据进行增删改查
#2,安全访问的机制

#起两个线程
#第一个线程:连接数据库
#等待一个信号 告诉我我们之间的网络是通的
#连接数据库

#第二个线程:检测数据库的可连接情况
#time.sleep(0,2)    2
#将事件的状态设置为True

模拟连接数据库代码示例:

 1 import time
 2 import random
 3 from threading import Thread, Event
 4 
 5 def connect_db(e):
 6     count = 0
 7     while count < 3:
 8         e.wait(0.5)   #状态为False的时候,我只等待0.5s就结束
 9         if e.is_set() == True:
10             print('连接数据库')
11             break
12         else:
13             count += 1
14             print('第%s连接失败'%count)
15     else:
16         #抛出数据库连接超时错误
17         raise TimeoutError('数据库连接超时')
18 
19 def check_web(e):
20     time.sleep(random.randint(0,3))
21     e.set()
22 
23 e = Event()
24 t1 = Thread(target=connect_db,args=(e,))
25 t2 = Thread(target=check_web,args=(e,))
26 t1.start()
27 t2.start()

运行结果:

 

标签:count,False,Thread,Python,数据库,True,连接,day41
来源: https://www.cnblogs.com/xudj/p/10346823.html