我有一个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
当从主函数内部运行相同的循环时,新线程不会开始。