程序是可执行的二进制文件。
进程是执行中的程序。
线程是主进程中的小进程。
进程有自己的地址空间、内存、数据线及其他辅助数据。可以派生新的进程,进程间数据独立,通过进程间通信的方式共享信息。
进程内共享同一片数据空间,线程包括开始,执行顺序,结束。可以被其他线程中断和临时挂起。在多线程编程前,只能同时运行一个线程。
解释器是否支持多线程(python3中为’ _thread ')
import thread
单线程
from time import sleep,ctime
def pri1():
print('start pri1 at ',ctime())
sleep(1)
print('__end pri1 at ',ctime())
def pri2():
print('start pri2 at ',ctime())
sleep(1)
print('__end pri2 at ',ctime())
pri1()
pri2()
threading模块比thread模块更先进,threading和thread的部分属性会冲突,thread不支持守护线程。
threading模块:https://blog.csdn.net/GrofChen/article/details/94660755
多线程
import threading
from time import sleep,ctime
def pri1():
print('start pri1 at %s'%ctime())
sleep(1)
print('__end pri1 at %s'%ctime())
def pri2():
print('start pri2 at %s'%ctime())
sleep(1)
print('__end pri2 at %s'%ctime())
p1=threading.Thread(target=pri1)
p2=threading.Thread(target=pri2)
p1.start()
p2.start()