Python深化篇---多线程、多进程

1、线程和进程的概念

           进程:一个进程就是一个程序

           线程:线程就是进程里面最小的执行单元

           线程是在进程里面的,干活的还是线程

           一个进程里面最少有一个线程,可以有多个线程

          每个线程之间都是相互独立的,没有真正意义上的并发,电脑的CPU是几核的,最多只能同时运行几个任务

2、多线程

        import threading,time

        all_res[]    #这是用来存储函数的结果的

        def run(name):

               print('子线程',threading,current_thread())

               time.sleep(60)

               print('[%s]hhhhh'%name)

               name = 'aaa' + name

               all_res.append(name)

          start = time.time()

          threads = []  #存放所有的子线程

          for i in range(3):   #先统一启动所有的子线程

                 t = threading.Thread(target = run,args = (str(i),))

                thread.append(t)

                t.start()

          for t in threads:    #再统一的去等待子线程执行结束

                 t.join()

3、多进程

        from multiprocessing import Process,Pool,active_children

        import pymongo,requests

        if __name__ == '__main__':

             for qq in all_qq:

                   p = Process(target = down_img,args = (qq,))   #启动多进程

                   p.start()

             pool = Pool(5)   #指定进程池的大小

             list(pool.map(down_img,all_qq))   #运行使用进程池

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值