线程组迭代方法解析

88 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情

线程组里面有一些迭代方法,今天我们借这篇文章说一下。

线程组的迭代方法

这里有6个迭代方法,前三个参数是线程数组,后三个是线程组。

image.png

这个方法是把当前线程组和子线程组的线程都拷贝出来。

image.png

光说不练假把式,我们可以把这个方法试一下,搞点代码:

image.png

搞了两个线程,其中线程1放在线程组t中,线程2放在线程组t1中,然后t1线程组放到t中,这样按理来说,t可以查询到t1和t2,并对此操作,操作结果如下:

image.png

这是main线程组中的线程,我们可以看到有main线程,如果熟悉线程组的构造方法,可以明白,这些线程组都是挂靠在main线程组下。 image.png

那main线程组上面应该是系统线程组,这个我们上篇文章提过了,然后main线程组挂靠main线程和其它线程组,依次类推。

线程中断

那我们拿到线程组之后,可以对线程进行批量操作,那我们可以做什么操作呢?我们可以来演示一下线程的批量中断,中断代码如下:

image.png

然后我们来看看效果,如下:

image.png

中断没有生效,这里是三秒结束才进入线程中断,有可能三秒之后线程都跑完了,那就不需要中断了,因此我们需要加个循环,在任务中判断中断,代码如下:

image.png

结果如下:

image.png