新线程不会从内部函数开始,而是从外部开始

时间:2019-05-03 15:13:35

标签: python multithreading

我有一个while循环,它开始了一个新线程。当我在模块内部自己运行循环时,新线程开始正常运行。但是,当我只是将相同的循环放入函数中时,它将不再启动新线程。

private class A {

    private Map<String, Object> map;

    public A () {
        this.map = new HashMap<>();
    }

    public void addElement (String s, Object v) {
        map.put(s, v);
    }

    @Override public boolean equals (Object o) {
        // should be on map
    }

    @Override public int hashCode () {
        // should be on map
    }
}

上面的代码可以正常工作并开始新线程。

server_available = False
while True:
    if server_available == False:
        _thread.start_new_thread(accept_new_connections, ())
        server_available = True

当从主函数内部运行相同的循环时,新线程不会开始。

0 个答案:

没有答案