在我们的应用程序中,我们有一个外部库,我们用它来处理DAL。有时候它会挂在一些简单的方法上,比如打开数据库连接。它只是产生另一个用于连接的线程,这个线程永远不会被终止。
那么,如何在生成的线程中做出一些标记? 然后,我可以遍历应用程序的线程列表,找到这些死线程并杀死它们。
答案 0 :(得分:0)
你从根本上做不到这一点。如果您需要此行为,则应该使用进程,而不是线程。
教科书的答案是这样的:通过这些线程运行的代码的合作,无论如何你都可以这样做。没有他们的合作,这将永远不会安全或可靠。
通过将库包装在服务进程中来修复库或将库与代码隔离。如果线程出现故障或卡住,其进程上下文就会受到污染。