简单的理解
1、线程:最小的执行单元;进程:最小的资源单元
2、一个程序至少有一个进程,一个进程至少有一个线程(线程可以理解为线程的容器)
3、进程在执行过程中拥有独立的内存单元,而多个线程共享内存
4、每一个独立的线程都有 程序的入口,顺序执行的序列和程序出口,但是线程不能独立执行,必须由应用程序提供多个线程执行控制
5、进程是系统进行资源分配和调度的一个独立单元
多线程的代码开启
import threading
import time
def sing():
print("begin to sing %s" % time.ctime())
time.sleep(3)
print("stop to sing %s" % time.ctime())
def jump():
print("begin to jump %s" % time.ctime())
time.sleep(5)
print("stop to jump %s" % time.ctime())
def rap():
print("begin to rap %s" % time.ctime())
time.sleep(7)
print("stop to rap %s" % time.ctime())
def play_basketball():
print("begin to play_basketball %s" % time.ctime())
time.sleep(9)
print("stop to play_basketball %s" % time.ctime())
if __name__ == '__main__':
#开启sing的线程
t1 = threading.Thread(target = sing)
t1.start()
#开启jump的线程
t2 = threading.Thread(target = jump)
t2.start()
#开启rap的线程
t3 = threading.Thread(target = rap)
t3.start()
#开启篮球的线程
t4 = threading.Thread(target = play_basketball)
t4.start()
这样,线程开启就可以像cxk一样可以同时进行唱、跳、rap、篮球了。
这一个程序相当于一个进程,而唱跳rap篮球就像四个线程一样,同时执行,他们的间隔时间只是间隔两秒,并不是3 5 7 9 秒