相关疑难解决方法(0)

为什么python线程消耗这么多内存?

为什么python线程消耗这么多内存?

我测量产生一个线程消耗8兆内存,几乎和整个新的python进程一样大!

操作系统:Ubuntu 10.10

编辑:由于受欢迎的需求,我将给出一些无关的例子,这里是:

from os import getpid
from time import sleep
from threading import Thread

def nap():
    print 'sleeping child'
    sleep(999999999)

print getpid()
child_thread = Thread(target=nap)
sleep(999999999)
Run Code Online (Sandbox Code Playgroud)

在我的盒子上,pmap pid将给出9424K

现在,让我们运行子线程:

from os import getpid
from time import sleep
from threading import Thread

def nap():
    print 'sleeping child'
    sleep(999999999)

print getpid()
child_thread = Thread(target=nap)
child_thread.start()             # <--- ADDED THIS LINE
sleep(999999999)
Run Code Online (Sandbox Code Playgroud)

现在pmap pid将给出17620K

因此,额外线程的成本是17620K - 9424K = 8196K

即.87%的人正在运行一个全新的独立流程!

现在不仅仅是,错了吗?

python multithreading

3
推荐指数
1
解决办法
3473
查看次数

标签 统计

multithreading ×1

python ×1