Python写一个简单的读写多线程
@Override
import threading
import time
class Utils():
def __init__(self):
self.mutex = threading.Lock()
self.credit = 1000
self.flag = 0
def read(self):
for i in range(10):
print("Reading")
self.mutex.acquire(timeout=2)
if self.flag == 0:
self.mutex.release()
else:
print(self.credit)
self.mutex.release()
time.sleep(5)
def write(self):
for i in range(10):
print("Writing")
self.mutex.acquire(timeout=2)
self.flag = 1
self.credit += 1
print("Plus 1.")
self.mutex.release()
time.sleep(5)
def __call__(self):
thread_read = threading.Thread(target=self.read)
thread_write = threading.Thread(target=self.write)
thread_read.start()
thread_write.start()
utils = Utils()
utils()