我在QT中有一个程序,可以创建大量的对象来进行大量请求。 这个数字可能非常大,恰好有这个错误:
GLib-ERROR **:为GWakeup创建管道:Trop de fichiers ouverts
Trop de fichiers ouverts =打开的文件过多(法语)
我想通过创建QSemaphore来限制连接对象的数量(比如10-20),在创建新对象之前获取一个并在销毁它时释放它。
实际上发生的是,当我尝试获取值为0的信号量时,程序会等待,甚至对象的代码也会停止运行,从而导致永远不会重新发布信号量并进入无限循环。
其他对象怎么不继续执行?怎么解决这个问题?