python以运行效率高著称吗_提高Python程序运行效率三种模式第一种:多进程multiprocessing模块...

python是一个解释性语言,所以它不需要进行编译就可以直接使用:

1. 编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。

2. 解释型语言就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是Ruby

因为编译型语言在程序运行之前就已经对程序做出了“翻译”,所以在运行时就少掉了“翻译”的过程,所以效率比较高。

那我们就得想把办法提升我们程序运行的效率————multiprocessing多进程运行

个人理解就是将原有的程序复制一份到新的内存空间,行程彼此相对独立的多个程序运行

importmultiprocessingimporttimedefsum_1(num):

num1=0while num1

num1+= 1

defsum_2(num2):

num2=0while num2

num2+= 1

print("The program is begin %s") %time.time()

p1= multiprocessing.Process(target=sum_1, args=(10000, ))

p2= multiprocessing.Process(target=sum_2, args=(10000, ))

p1.start()

p2.start()

p1.join()

p2.join()print("The program is over %s") % time.time()

p1 与 p2 为两个独立的程序,互相直接数据不会共享,各自独立运行各自的函数。

p1 = multiprocessing.Process(target=sum_1, args=(10000, ))

p2= multiprocessing.Process(target=sum_2, args=(10000, ))

target = 后面是你需要新创建子进程执行的函数名,args=后面必须是一个元组,写入的是你需要给程序传递的参数,没有一个以上的参数时需要加,分隔

p1.start()

p2.start()

通过.start()方法来开启新的子进程,主进程开启新的子进程后会继续往下运行自己的代码

p1.join()

p2.join()

通过.join()方法来堵塞主进程,不让主进程继续往下执行相关代码,而是等待子进程全部执行完毕后,主进程解除堵塞继续往下执行。

因为进程之间相对独立,如果需要通信的话我们可以使用multiprocessing.Queue,Queue的功能是将需要传输的数据通过put放在队里中, 然后其他进程可以通过get获取。下次再整理,有一起学python的吗,可以一起交流啊,最近写个简单的web服务器老是莫名其妙奔溃,急需要找个人一起debug!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值