我有多线程程序。我有我的应用程序的设计如下:线程删除设计
假设一个是主线程,其他是从线程。主线程跟踪所有的从线程ID。在其中一个应用场景(其中一个场景是正常关闭应用程序)期间,我想从主线程中删除从属线程。 这里的从属线程可能正在执行,即无论是在睡眠模式还是做一些我无法停止动作的动作。所以我想从主线程中删除我内部存储的线程ID。
附加信息: 删除时,我不应该等待线程当前动作完成,因为它可能需要很长时间,因为我正在从数据库中读取并在线程中采取一些操作,以防恩惠关闭,我不应该等待采取行动完成,因为它可能需要时间。
如果我强制删除一个线程怎么会有资源泄漏?
以上的设计是好的,或有任何流量或任何方式,我们可以改进设计。
谢谢!
正如你所提到的,如果我们强行杀死一个线程会有资源泄漏,你可以举一个例子说明如何有内存泄漏? – venkysmarty
最明显的是为堆栈分配的内存。如果强制终止线程,正在运行的函数将无法返回,并且永远不会释放内存。在其他情况下,诸如堆内存,套接字,文件句柄之类的东西将无法正确释放,因为您没有给它们这样的机会。 – JosephH