最近在看线程这块,发现个小疑问:开启N个线程,线程结束时会有些问题。
是这样的,main线程开启两个子线程,子线程内部又开启两个子线程,就有7个线程了,
分别标号为0 1 2 3 4 5 6 其中0是主线程,1 2是0 的子线程,3 4 是1的子线程,5 6是2的子线程
现在有需求是想要2 3 6互相通信,并且任意线程都有终止程序的权限,也就是当某一子线程执行完后要程序正常退出,
这块搞的时候就发现,12 不能先于 3456结束,否则会出问题,
现在想要结束整个程序,只能抛一个自定义异常,然后一层一层的循环结束线程,但这样还是会出问题,
想问问有没有安全的方法结束整个程序? |
|