无法使用python多处理在新进程中绘制任何内容或显示pylab框架

有谁知道为什么下面的代码甚至无法打开pylab图形窗口?如果将测试功能的主体移到主流程中,则可以正常工作,但我想专门从新流程中进行一些绘制。


from multiprocessing import Process

from pylab import *


def test():

    frac = [10, 10, 10, 10, 10, 10, 40]

    labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

    ion()

    hold(False)

    while True:

        pie(frac, labels = labels, autopct='%1.1f%%')

        title('test', bbox={'facecolor' : '0.8', 'pad' : 5})

        draw()



p1 = Process(target = test)

p1.daemon = True

p1.start()


while True:

    pass


白猪掌柜的
浏览 155回答 2
2回答

慕少森

您的原始代码会占用您的CPU,这就是为什么您没有看到这个数字的原因。我对您的代码做了一些更改,主要是摆脱了while(1)循环。这对您有用吗?from multiprocessing import Processfrom pylab import *def test():    frac = [10, 10, 10, 10, 10, 10, 40]    labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g']    ion()    hold(False)    pie(frac, labels = labels, autopct='%1.1f%%')    title('test', bbox={'facecolor' : '0.8', 'pad' : 5})    draw()p1 = Process(target = test)p1.daemon = Truep1.start()import timetime.sleep(5)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python