import threading
class Data:
def __init__(self):
self.cur_ins = 1
self.event = threading.Event()
def thread_func(self, thread_num):
while True:
self.event.wait()
if self.cur_ins == thread_num:
print(f"Thread-{thread_num} is running.")
else:
print(f"Thread-{thread_num} is suspended.")
self.event.clear()
if __name__ == '__main__':
data = Data()
threads = []
for i in range(1, 7):
t = threading.Thread(target=data.thread_func, args=(i,))
t.start()
threads.append(t)
while True:
try:
ins = int(input("Enter a number from 1 to 6 (or 0 to exit): "))
if ins == 0:
break
if 1 <= ins <= 6:
data.cur_ins = ins
data.event.set()
else:
print("Please enter a number between 1 and 6.")
except ValueError:
print("Please enter a valid number.")