每个.py文件执行就是进程
线程是最小的指令集,可以通过OS去调度CPU去执行指令
"""
import time
import threading
begin=time.time()
def foo(n):
print("foo %s"%n)
time.sleep(1)
def bar(m):
print("bar%s"%m)
time.sleep(2)
t1=threading.Thread(target=foo,args=(1,)) #指的是目标是执行foo方法,传递参数为1;他的存在用了代替 foo()执行,表达意思都是用来执行
t2=threading.Thread(target=bar,args=(2,)) #指的是目标是执行bar方法,传递参数为1;他的存在用了代替 bar()执行,表达意思都是用来执行
t1.start()
t2.start()
print("--------主程序----------")
end=time.time()
print(end-begin)
"""
#上述代码,表示主程序,t1,t2三个同时进行执行的,且上述打印的end-time时间为主程序执行时间0.00099945068359375
"""
import time
import threading
begin=time.time()
def foo(n):
print("foo %s"%n)
time.sleep(1)
def bar(m):
print("bar%s"%m)
time.sleep(2)
t1=threading.Thread(target=foo,args=(1,)) #指的是目标是执行foo方法,传递参数为1;他的存在用了代替 foo()执行,表达意思都是用来执行
t2=threading.Thread(target=bar,args=(2,)) #指的是目标是执行bar方法,传递参数为1;他的存在用了代替 bar()执行,表达意思都是用来执行
t1.start()
t2.start()
# t1.join()#表示t1如果未执行完,则不执行下面的程序
# t2.join()#表示t2如果未执行完,则不执行下面的程序
print("--------主程序----------")
end=time.time()
print(end-begin)
"""
#上述代码:因为主程序和t1,t2同时进行执行,因为增加了t1.join(),t2.join();导致主程序需要等待t1和t2的sleep时间结束以后才可继续执行自己的代码;所以打印的时间需要2s多,因为t2时间是2s,需要等待
#进程:理解为多个线程以及其他变量等资源整合在一起称为进程
#如上代码,主程序也算是一个线程,加上t1,t2两个线程合在一起称为进程