多进程和多线程的区别:
线程是cpu调度执行的基本单位,进程是资源分配的基本单位。一个进程里面可以有多个线程。当进行多线程完成一个任务的时候,相当与复制了多个进程,开辟了多个内存空间。当多线程执行同一任务时,相当于在一个线程下面创建多个线程。所以在同一任务下,多进程要比多线程消耗的资源多。多进程中,不同进程之前的全局变量是不共享的,但是在多线程中是共享的。
创建线程:
创建线程函数参数和创建进程的函数参数相同
t1=threading.Thread() #创建一个对象为t1的线程
(1)group:组别,一般默认为None
(2)target=:使用的对象函数名称
(3)args=:调用函数的参数,使用元组形式传入
(4)kwargs=:同args作用一样,但是传入参数的形式是字典
(5)name=:子进程的名称
(6)daemom=:守护线程,默认为None
综合练习
创建两个线程,其中一个输出1-52,另外一个输出A-Z。
输出格式要求:
12A
34B
56C
...
5152Z
代码如下: import threading n=0 def fun1(): for i in range(1,53,2): global n while True: if n==0: print(i,i+1,end="") n=1 break def fun2(): for i in range(65,91): global n while True: if n==1: print(chr(i)) n=0 break if __name__=='__main__': t1=threading.Thread(target=fun1) t2=threading.Thread(target=fun2) t1.start() t2.start()
运行结果: