python 线程与进程

原创 2016年05月30日 11:27:01

0. 计算100w随机数的和,分别用多进程和多线程,结果是在同样的环境下,多进程更能压榨每个cpu使用率,因为GIL的存在,所以python里面的多线程效率有瓶颈。

当然老司机知道,这种cpu密集的运算,本来就不应该用多线程来做,这是后话。
例子是抄的,对比一下很明显。

import multiprocessing
import random

def compute(n):
    return sum(
        [random.randint(1, 100) for i in range(1000000)])


pool = multiprocessing.Pool(8)
print "results: %s" % pool.map(compute, range(8))
import random
import threading

results = []

def compute():
    results.append(sum(
        [random.randint(1, 100) for i in range(1000000)]))


workers = [threading.Thread(target=compute) for x in range(8)]

for worker in workers:
    worker.start()

for worker in workers:
    worker.join()

print "results: %s" % results
版权声明: 举报

相关文章推荐

Python基础之九进程和线程

import os print('Process (%s) start...' % os.getpid()) pid = os.fork() if pid == 0: print('I an ...

python 自学笔记 进程和线程

多任务 多进程模式 多线程模式 多进程+多线程模式 多进程(multiprocessing) multiprocessing 在windows上,该模块提供了一个process类来代表一个进程对象。...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Python笔记-进程Process、线程Thread、上锁

进程Process、线程Thread、上锁

python ----进程与线程(三)

Event对象 线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其 他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就 会变得非常棘手。为了解决这些问题,...

【Python多进程库】一个函数让你设置CPU数和线程数

使用multicpu之后,你需要一个函数,就可以定义你程序运行时所需的CPU数量和每个CPU占用的线程数量。 重点是,代码只有60行不到,你可以很轻松的阅读源码。
  • cyh24
  • cyh24
  • 2015-10-21 23:59
  • 3383

python学习——进程和线程

很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比...

Python进程、线程、协程

进程与线程的历史 我们都知道计算机是由硬件和软件组成的。硬件中的CPU是计算机的核心,它承担计算机的所有任务。 操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源的管理和分配、任务的调度。...

Python 中的进程、线程、协程、同步、异步、回调

进程和线程究竟是什么东西?传统网络服务模型是如何工作的?协程和线程的关系和区别有哪些?IO过程在什么时间发生? 一、上下文切换技术 简述 在进一步之前,让我们先回顾一下各种上下文切换...

Python之路,进程、线程、协程篇

转自:原文地址:http://www.cnblogs.com/alex3714/articles/5230609.html 本节内容 进程、与线程区别 cpu运行原理 python GIL全局...

Python 中的进程、线程、协程、同步、异步、回调

进程和线程究竟是什么东西?传统网络服务模型是如何工作的?协程和线程的关系和区别有哪些?IO过程在什么时间发生? 在刚刚结束的 PyCon2014 上海站,来自七牛云存储的 Python 高级工程...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)