Thử thực hiện hai tác vụ cùng lúc: một foreground, một background. Viết nội dung vào file ở background, đồng thời nhận input số từ user để kiểm tra chẵn/lẻ.
Làm nhiều tác vụ trong một chương trình Python có thể qua multithreading.
import threading
import time
class AsyncWrite(threading.Thread):
def __init__(self, text, out):
threading.Thread.__init__(self)
self.text = text
self.out = out
def run(self):
f = open(self.out, "a")
f.write(self.text + '\n')
f.close()
time.sleep(3)
print("Finished Background file write to " + self.out)
def Main():
message = input("Enter a string to store: ")
background = AsyncWrite(message, 'out.txt')
background.start()
print("The program can continue while it writes in another thread")
num = int(input("Entered number is: "))
if (num % 2 == 0):
print("Entered number is Even")
else:
print("Entered number is ODD")
background.join()
print("Waited until thread was complete")
if __name__ == '__main__':
Main()
Kết quả
Enter a string to store: Tutorialspoint
The program can continue while it writes in another thread
Entered number is: 33
Entered number is ODD
Finished Background file write to out.txt
Waited until thread was complete