操作系统会为每一个进程分配独立的内存空间,的那这样会占用独立的资源,对系统的开销较大。一般情况下我们可以使用多线程来完成多任务的开发,一个进程中包含了多个线程,对系统的开销较小一个进程中至少有一个线程,默认的这个线程我们叫做主线程。
单线程模拟人脑:
import time
# 敲键盘ing
def keyboard():
for i in range(5):
print("敲键盘ing...")
time.sleep(0.5)
# 点鼠标ing
def mouse():
for i in range(5):
print("点鼠标ing...")
time.sleep(1)
if __name__ == '__main__':
keyboard()
mouse()
执行结果如下图:
多线程:
import threading
import time
# 敲键盘ing
def keyboard():
for i in range(5):
print("敲键盘ing...")
time.sleep(0.5)
# 点鼠标ing
def mouse():
for i in range(5):
print("点鼠标ing...")
time.sleep(1)
if __name__ == '__main__':
# 为了方便,我们使用两个线程分别执行 keyboard和 mouse任务
print("开辟前,当前有%s个线程在活动,他们是%s" %
(threading.active_count(), threading.enumerate()))
keyboard_thread = threading.Thread(target=keyboard)
mouse_thread = threading.Thread(target=mouse)
print("开辟后,当前有%s个线程在活动,他们是%s" %
(threading.active_count(), threading.enumerate()))
keyboard_thread.start()
mouse_thread.start()
print("start后,当前有%s个线程在活动,他们是%s" %
(threading.active_count(), threading.enumerate()))
time.sleep(2)
# 使用完毕
print("play over")
执行结果如下图: