携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情
线程组里面有一些迭代方法,今天我们借这篇文章说一下。
线程组的迭代方法
这里有6个迭代方法,前三个参数是线程数组,后三个是线程组。
这个方法是把当前线程组和子线程组的线程都拷贝出来。
光说不练假把式,我们可以把这个方法试一下,搞点代码:
搞了两个线程,其中线程1放在线程组t中,线程2放在线程组t1中,然后t1线程组放到t中,这样按理来说,t可以查询到t1和t2,并对此操作,操作结果如下:
这是main线程组中的线程,我们可以看到有main线程,如果熟悉线程组的构造方法,可以明白,这些线程组都是挂靠在main线程组下。
那main线程组上面应该是系统线程组,这个我们上篇文章提过了,然后main线程组挂靠main线程和其它线程组,依次类推。
线程中断
那我们拿到线程组之后,可以对线程进行批量操作,那我们可以做什么操作呢?我们可以来演示一下线程的批量中断,中断代码如下:
然后我们来看看效果,如下:
中断没有生效,这里是三秒结束才进入线程中断,有可能三秒之后线程都跑完了,那就不需要中断了,因此我们需要加个循环,在任务中判断中断,代码如下:
结果如下: