多线程 ThreadGroup activeCount没有作用的情况下,多线程也可以自己写,ThreadGroup不一定好使

这里只采用了
Queue
队列的方式来,自己模拟ThreadGroup的功能实现
 
  
private static final ThreadGroup tg = new ThreadGroup("tg");
int num = tg.activeCount()
有时候num取得会有误,原因,是因为你的代码中如果存在继承线程类的东西,会受到影响,并不那么准确,还不如自己写个。
 
  
代码如下:
 
  
package com.gy.controller.test;

import org.junit.Test;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

/**
 * Created by Administrator on 2017/8/25 0025.
 */
public class ThreadGroupTest {
    @Test
    public void test(){
        task();
    }
    private Integer maxi = 3;//最大只能同时运行3个线程
    private Integer curri = 0;
    private void task(){
        Queue queue = new LinkedList();
        List list = new ArrayList<>();
        list.add("1号任务");
        list.add("2号任务");
        list.add("3号任务");
        list.add("4号任务");
        list.add("5号任务");
        list.add("6号任务");
        list.add("7号任务");
        list.add("8号任务");
        if(list!=null&&list.size()>0){
            for(final String s :list){
                Thread thread = new Thread(null, new Runnable() {
                    @Override
                    public void run() {
                        deal(s);
                    }
                });
                queue.add(thread);
            }
            Thread thread;
            while((thread=queue.poll())!=null){
                int i = 0;
                thread.start();
                curri++;
                while(true){
                    if(curri<maxi){
                        System.out.println("刚跑了一个线程,感觉有点累了....");
                        break;
                    }else{
                       // waits();
                        i++;
                        System.out.println("超过了,需要等待!"+i);
                    }
                }
            }
        }
    }
    public void deal(String s){
        System.out.println("运行中:"+s);
        for(int i = 0;i<20;i++){
            System.out.println(s+" ==="+i);
        }
        curri--;
    }

    private  void waits(){
        try {
            Thread.sleep(500);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 
  
运行结果:
 
  
 
  
G:\BaiduNetdiskDownload\jdk1.7\bin\java -ea -Didea.launcher.port=7538 "-Didea.launcher.bin.path=F:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4v1\bin" -Dfile.encoding=GBK -classpath "F:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4v1\lib\idea_rt.jar;F:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.4v1\plugins\junit\lib\junit-rt.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\charsets.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\deploy.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\javaws.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\jce.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\jfr.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\jfxrt.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\jsse.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\management-agent.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\plugin.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\resources.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\rt.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\ext\access-bridge-32.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\ext\dnsns.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\ext\jaccess.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\ext\localedata.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\ext\sunec.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\ext\sunjce_provider.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\ext\sunmscapi.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\ext\sunpkcs11.jar;G:\BaiduNetdiskDownload\jdk1.7\jre\lib\ext\zipfs.jar;E:\work\Documents\开发\代码\commonpub\commonservice\target\classes;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-web\1.5.2.RELEASE\spring-boot-starter-web-1.5.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter\1.5.2.RELEASE\spring-boot-starter-1.5.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\1.5.2.RELEASE\spring-boot-autoconfigure-1.5.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-logging\1.5.2.RELEASE\spring-boot-starter-logging-1.5.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-classic\1.1.11\logback-classic-1.1.11.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-core\1.1.11\logback-core-1.1.11.jar;C:\Users\Administrator\.m2\repository\org\slf4j\jul-to-slf4j\1.7.24\jul-to-slf4j-1.7.24.jar;C:\Users\Administrator\.m2\repository\org\slf4j\log4j-over-slf4j\1.7.24\log4j-over-slf4j-1.7.24.jar;C:\Users\Administrator\.m2\repository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;C:\Users\Administrator\.m2\repository\org\hibernate\hibernate-validator\5.3.4.Final\hibernate-validator-5.3.4.Final.jar;C:\Users\Administrator\.m2\repository\javax\validation\validation-api\1.1.0.Final\validation-api-1.1.0.Final.jar;C:\Users\Administrator\.m2\repository\org\jboss\logging\jboss-logging\3.3.0.Final\jboss-logging-3.3.0.Final.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.8.7\jackson-databind-2.8.7.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.8.0\jackson-annotations-2.8.0.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.8.7\jackson-core-2.8.7.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-web\4.3.7.RELEASE\spring-web-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-aop\4.3.7.RELEASE\spring-aop-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-beans\4.3.7.RELEASE\spring-beans-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-webmvc\4.3.7.RELEASE\spring-webmvc-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-expression\4.3.7.RELEASE\spring-expression-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\1.5.2.RELEASE\spring-boot-starter-data-jpa-1.5.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-aop\1.5.2.RELEASE\spring-boot-starter-aop-1.5.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\aspectj\aspectjweaver\1.8.9\aspectjweaver-1.8.9.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\1.5.2.RELEASE\spring-boot-starter-jdbc-1.5.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\tomcat-jdbc\8.5.11\tomcat-jdbc-8.5.11.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\tomcat-juli\8.5.11\tomcat-juli-8.5.11.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-jdbc\4.3.7.RELEASE\spring-jdbc-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\hibernate\hibernate-core\5.0.12.Final\hibernate-core-5.0.12.Final.jar;C:\Users\Administrator\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.1-api\1.0.0.Final\hibernate-jpa-2.1-api-1.0.0.Final.jar;C:\Users\Administrator\.m2\repository\org\javassist\javassist\3.21.0-GA\javassist-3.21.0-GA.jar;C:\Users\Administrator\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\Administrator\.m2\repository\org\jboss\jandex\2.0.0.Final\jandex-2.0.0.Final.jar;C:\Users\Administrator\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.0.1.Final\hibernate-commons-annotations-5.0.1.Final.jar;C:\Users\Administrator\.m2\repository\org\hibernate\hibernate-entitymanager\5.0.12.Final\hibernate-entitymanager-5.0.12.Final.jar;C:\Users\Administrator\.m2\repository\javax\transaction\javax.transaction-api\1.2\javax.transaction-api-1.2.jar;C:\Users\Administrator\.m2\repository\org\springframework\data\spring-data-jpa\1.11.1.RELEASE\spring-data-jpa-1.11.1.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\data\spring-data-commons\1.13.1.RELEASE\spring-data-commons-1.13.1.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-orm\4.3.7.RELEASE\spring-orm-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-tx\4.3.7.RELEASE\spring-tx-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.24\jcl-over-slf4j-1.7.24.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-aspects\4.3.7.RELEASE\spring-aspects-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-freemarker\1.5.2.RELEASE\spring-boot-starter-freemarker-1.5.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\freemarker\freemarker\2.3.25-incubating\freemarker-2.3.25-incubating.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-context-support\4.3.7.RELEASE\spring-context-support-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\commons-fileupload\commons-fileupload\1.2.1\commons-fileupload-1.2.1.jar;C:\Users\Administrator\.m2\repository\javax\servlet\jsp\jsp-api\2.2\jsp-api-2.2.jar;C:\Users\Administrator\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-core\4.3.7.RELEASE\spring-core-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-starter-feign\1.2.2.RELEASE\spring-cloud-starter-feign-1.2.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-starter\1.1.5.RELEASE\spring-cloud-starter-1.1.5.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-context\1.1.5.RELEASE\spring-cloud-context-1.1.5.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\security\spring-security-rsa\1.0.3.RELEASE\spring-security-rsa-1.0.3.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.55\bcpkix-jdk15on-1.55.jar;C:\Users\Administrator\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.55\bcprov-jdk15on-1.55.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-netflix-core\1.2.2.RELEASE\spring-cloud-netflix-core-1.2.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-commons\1.1.5.RELEASE\spring-cloud-commons-1.1.5.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\security\spring-security-crypto\4.2.2.RELEASE\spring-security-crypto-4.2.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\io\github\openfeign\feign-core\9.3.1\feign-core-9.3.1.jar;C:\Users\Administrator\.m2\repository\org\jvnet\animal-sniffer-annotation\1.0\animal-sniffer-annotation-1.0.jar;C:\Users\Administrator\.m2\repository\io\github\openfeign\feign-slf4j\9.3.1\feign-slf4j-9.3.1.jar;C:\Users\Administrator\.m2\repository\io\github\openfeign\feign-hystrix\9.3.1\feign-hystrix-9.3.1.jar;C:\Users\Administrator\.m2\repository\com\netflix\hystrix\hystrix-core\1.4.26\hystrix-core-1.4.26.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-starter-ribbon\1.2.2.RELEASE\spring-cloud-starter-ribbon-1.2.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\retry\spring-retry\1.2.0.RELEASE\spring-retry-1.2.0.RELEASE.jar;C:\Users\Administrator\.m2\repository\com\netflix\ribbon\ribbon\2.2.0\ribbon-2.2.0.jar;C:\Users\Administrator\.m2\repository\com\netflix\ribbon\ribbon-transport\2.2.0\ribbon-transport-2.2.0.jar;C:\Users\Administrator\.m2\repository\io\reactivex\rxnetty-contexts\0.4.9\rxnetty-contexts-0.4.9.jar;C:\Users\Administrator\.m2\repository\io\reactivex\rxnetty-servo\0.4.9\rxnetty-servo-0.4.9.jar;C:\Users\Administrator\.m2\repository\javax\inject\javax.inject\1\javax.inject-1.jar;C:\Users\Administrator\.m2\repository\io\reactivex\rxnetty\0.4.9\rxnetty-0.4.9.jar;C:\Users\Administrator\.m2\repository\io\netty\netty-codec-http\4.0.27.Final\netty-codec-http-4.0.27.Final.jar;C:\Users\Administrator\.m2\repository\io\netty\netty-codec\4.0.27.Final\netty-codec-4.0.27.Final.jar;C:\Users\Administrator\.m2\repository\io\netty\netty-handler\4.0.27.Final\netty-handler-4.0.27.Final.jar;C:\Users\Administrator\.m2\repository\io\netty\netty-transport-native-epoll\4.0.27.Final\netty-transport-native-epoll-4.0.27.Final.jar;C:\Users\Administrator\.m2\repository\io\netty\netty-common\4.0.27.Final\netty-common-4.0.27.Final.jar;C:\Users\Administrator\.m2\repository\io\netty\netty-buffer\4.0.27.Final\netty-buffer-4.0.27.Final.jar;C:\Users\Administrator\.m2\repository\io\netty\netty-transport\4.0.27.Final\netty-transport-4.0.27.Final.jar;C:\Users\Administrator\.m2\repository\com\netflix\ribbon\ribbon-core\2.2.0\ribbon-core-2.2.0.jar;C:\Users\Administrator\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\Administrator\.m2\repository\com\netflix\ribbon\ribbon-httpclient\2.2.0\ribbon-httpclient-2.2.0.jar;C:\Users\Administrator\.m2\repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpclient\4.5.3\httpclient-4.5.3.jar;C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpcore\4.4.6\httpcore-4.4.6.jar;C:\Users\Administrator\.m2\repository\com\sun\jersey\jersey-client\1.19.1\jersey-client-1.19.1.jar;C:\Users\Administrator\.m2\repository\com\sun\jersey\contribs\jersey-apache-client4\1.19.1\jersey-apache-client4-1.19.1.jar;C:\Users\Administrator\.m2\repository\com\netflix\servo\servo-core\0.10.1\servo-core-0.10.1.jar;C:\Users\Administrator\.m2\repository\com\netflix\servo\servo-internal\0.10.1\servo-internal-0.10.1.jar;C:\Users\Administrator\.m2\repository\com\netflix\netflix-commons\netflix-commons-util\0.1.1\netflix-commons-util-0.1.1.jar;C:\Users\Administrator\.m2\repository\com\netflix\ribbon\ribbon-loadbalancer\2.2.0\ribbon-loadbalancer-2.2.0.jar;C:\Users\Administrator\.m2\repository\com\netflix\netflix-commons\netflix-statistics\0.1.1\netflix-statistics-0.1.1.jar;C:\Users\Administrator\.m2\repository\io\reactivex\rxjava\1.1.10\rxjava-1.1.10.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-starter-archaius\1.2.2.RELEASE\spring-cloud-starter-archaius-1.2.2.RELEASE.jar;C:\Users\Administrator\.m2\repository\com\netflix\archaius\archaius-core\0.7.4\archaius-core-0.7.4.jar;C:\Users\Administrator\.m2\repository\com\google\code\findbugs\jsr305\3.0.1\jsr305-3.0.1.jar;C:\Users\Administrator\.m2\repository\commons-configuration\commons-configuration\1.8\commons-configuration-1.8.jar;C:\Users\Administrator\.m2\repository\net\sourceforge\jexcelapi\jxl\2.6.10\jxl-2.6.10.jar;C:\Users\Administrator\.m2\repository\log4j\log4j\1.2.14\log4j-1.2.14.jar;C:\Users\Administrator\.m2\repository\com\sun\jersey\jersey-server\1.18\jersey-server-1.18.jar;C:\Users\Administrator\.m2\repository\asm\asm\3.1\asm-3.1.jar;C:\Users\Administrator\.m2\repository\com\sun\jersey\jersey-core\1.18\jersey-core-1.18.jar;C:\Users\Administrator\.m2\repository\com\sun\jersey\jersey-grizzly2\1.18\jersey-grizzly2-1.18.jar;C:\Users\Administrator\.m2\repository\org\glassfish\grizzly\grizzly-http\2.2.16\grizzly-http-2.2.16.jar;C:\Users\Administrator\.m2\repository\org\glassfish\grizzly\grizzly-framework\2.2.16\grizzly-framework-2.2.16.jar;C:\Users\Administrator\.m2\repository\org\glassfish\grizzly\grizzly-http-server\2.2.16\grizzly-http-server-2.2.16.jar;C:\Users\Administrator\.m2\repository\org\glassfish\grizzly\grizzly-rcm\2.2.16\grizzly-rcm-2.2.16.jar;C:\Users\Administrator\.m2\repository\org\projectlombok\lombok\1.16.8\lombok-1.16.8.jar;C:\Users\Administrator\.m2\repository\com\oracle\ojdbc7\12.1.0.2\ojdbc7-12.1.0.2.jar;C:\Users\Administrator\.m2\repository\com\mchange\c3p0\0.9.5.2\c3p0-0.9.5.2.jar;C:\Users\Administrator\.m2\repository\com\mchange\mchange-commons-java\0.2.11\mchange-commons-java-0.2.11.jar;C:\Users\Administrator\.m2\repository\io\springfox\springfox-swagger2\2.5.0\springfox-swagger2-2.5.0.jar;C:\Users\Administrator\.m2\repository\io\swagger\swagger-annotations\1.5.9\swagger-annotations-1.5.9.jar;C:\Users\Administrator\.m2\repository\io\swagger\swagger-models\1.5.9\swagger-models-1.5.9.jar;C:\Users\Administrator\.m2\repository\io\springfox\springfox-spi\2.5.0\springfox-spi-2.5.0.jar;C:\Users\Administrator\.m2\repository\io\springfox\springfox-core\2.5.0\springfox-core-2.5.0.jar;C:\Users\Administrator\.m2\repository\io\springfox\springfox-schema\2.5.0\springfox-schema-2.5.0.jar;C:\Users\Administrator\.m2\repository\io\springfox\springfox-swagger-common\2.5.0\springfox-swagger-common-2.5.0.jar;C:\Users\Administrator\.m2\repository\io\springfox\springfox-spring-web\2.5.0\springfox-spring-web-2.5.0.jar;C:\Users\Administrator\.m2\repository\com\google\guava\guava\18.0\guava-18.0.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\classmate\1.3.3\classmate-1.3.3.jar;C:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\1.7.24\slf4j-api-1.7.24.jar;C:\Users\Administrator\.m2\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\mapstruct\mapstruct\1.0.0.Final\mapstruct-1.0.0.Final.jar;C:\Users\Administrator\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\Administrator\.m2\repository\org\apache\poi\poi-ooxml\3.9\poi-ooxml-3.9.jar;C:\Users\Administrator\.m2\repository\org\apache\poi\poi\3.9\poi-3.9.jar;C:\Users\Administrator\.m2\repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar;C:\Users\Administrator\.m2\repository\org\apache\poi\poi-ooxml-schemas\3.9\poi-ooxml-schemas-3.9.jar;C:\Users\Administrator\.m2\repository\org\apache\xmlbeans\xmlbeans\2.3.0\xmlbeans-2.3.0.jar;C:\Users\Administrator\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;C:\Users\Administrator\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;C:\Users\Administrator\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot\1.5.3.RELEASE\spring-boot-1.5.3.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-context\4.3.7.RELEASE\spring-context-4.3.7.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\apache\camel\camel-ftp\2.13.2\camel-ftp-2.13.2.jar;C:\Users\Administrator\.m2\repository\org\apache\camel\camel-core\2.13.2\camel-core-2.13.2.jar;C:\Users\Administrator\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.6\jaxb-impl-2.2.6.jar;C:\Users\Administrator\.m2\repository\com\jcraft\jsch\0.1.50\jsch-0.1.50.jar;C:\Users\Administrator\.m2\repository\commons-net\commons-net\3.3\commons-net-3.3.jar" com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 com.gy.controller.test.ThreadGroupTest
刚跑了一个线程,感觉有点累了....
运行中:1号任务
1号任务 ===0
刚跑了一个线程,感觉有点累了....
运行中:2号任务
2号任务 ===0
2号任务 ===1
2号任务 ===2
2号任务 ===3
2号任务 ===4
2号任务 ===5
2号任务 ===6
2号任务 ===7
2号任务 ===8
2号任务 ===9
1号任务 ===1
2号任务 ===10
运行中:3号任务
超过了,需要等待!1
3号任务 ===0
2号任务 ===11
2号任务 ===12
2号任务 ===13
2号任务 ===14
2号任务 ===15
2号任务 ===16
2号任务 ===17
2号任务 ===18
2号任务 ===19
1号任务 ===2
1号任务 ===3
1号任务 ===4
1号任务 ===5
1号任务 ===6
1号任务 ===7
1号任务 ===8
1号任务 ===9
1号任务 ===10
1号任务 ===11
1号任务 ===12
1号任务 ===13
1号任务 ===14
1号任务 ===15
1号任务 ===16
1号任务 ===17
1号任务 ===18
3号任务 ===1
超过了,需要等待!2
刚跑了一个线程,感觉有点累了....
3号任务 ===2
3号任务 ===3
3号任务 ===4
3号任务 ===5
3号任务 ===6
3号任务 ===7
3号任务 ===8
1号任务 ===19
3号任务 ===9
3号任务 ===10
运行中:4号任务
超过了,需要等待!1
刚跑了一个线程,感觉有点累了....
4号任务 ===0
超过了,需要等待!1
超过了,需要等待!2
超过了,需要等待!3
超过了,需要等待!4
超过了,需要等待!5
超过了,需要等待!6
超过了,需要等待!7
超过了,需要等待!8
超过了,需要等待!9
超过了,需要等待!10
超过了,需要等待!11
超过了,需要等待!12
3号任务 ===11
3号任务 ===12
3号任务 ===13
3号任务 ===14
3号任务 ===15
3号任务 ===16
超过了,需要等待!13
运行中:5号任务
5号任务 ===0
4号任务 ===1
4号任务 ===2
4号任务 ===3
4号任务 ===4
4号任务 ===5
4号任务 ===6
4号任务 ===7
4号任务 ===8
4号任务 ===9
5号任务 ===1
5号任务 ===2
5号任务 ===3
5号任务 ===4
5号任务 ===5
5号任务 ===6
5号任务 ===7
5号任务 ===8
超过了,需要等待!14
3号任务 ===17
超过了,需要等待!15
5号任务 ===9
5号任务 ===10
5号任务 ===11
5号任务 ===12
5号任务 ===13
5号任务 ===14
5号任务 ===15
5号任务 ===16
4号任务 ===10
5号任务 ===17
5号任务 ===18
5号任务 ===19
超过了,需要等待!16
刚跑了一个线程,感觉有点累了....
3号任务 ===18
4号任务 ===11
超过了,需要等待!1
3号任务 ===19
运行中:6号任务
6号任务 ===0
6号任务 ===1
6号任务 ===2
6号任务 ===3
6号任务 ===4
超过了,需要等待!2
刚跑了一个线程,感觉有点累了....
4号任务 ===12
4号任务 ===13
4号任务 ===14
4号任务 ===15
4号任务 ===16
4号任务 ===17
4号任务 ===18
4号任务 ===19
6号任务 ===5
6号任务 ===6
运行中:7号任务
超过了,需要等待!1
刚跑了一个线程,感觉有点累了....
7号任务 ===0
6号任务 ===7
超过了,需要等待!1
运行中:8号任务
8号任务 ===0
8号任务 ===1
8号任务 ===2
8号任务 ===3
8号任务 ===4
8号任务 ===5
8号任务 ===6
8号任务 ===7
8号任务 ===8
8号任务 ===9
8号任务 ===10
8号任务 ===11
8号任务 ===12
8号任务 ===13
8号任务 ===14
8号任务 ===15
8号任务 ===16
8号任务 ===17
8号任务 ===18
8号任务 ===19
7号任务 ===1
超过了,需要等待!2
刚跑了一个线程,感觉有点累了....
6号任务 ===8
6号任务 ===9
7号任务 ===2
6号任务 ===10
7号任务 ===3
6号任务 ===11
7号任务 ===4
6号任务 ===12
7号任务 ===5
6号任务 ===13
7号任务 ===6
6号任务 ===14
7号任务 ===7
6号任务 ===15
7号任务 ===8
7号任务 ===9
7号任务 ===10
6号任务 ===16
6号任务 ===17
6号任务 ===18
6号任务 ===19
7号任务 ===11
7号任务 ===12
7号任务 ===13
7号任务 ===14
7号任务 ===15
7号任务 ===16
7号任务 ===17
7号任务 ===18
7号任务 ===19


Process finished with exit code 0

你可能感兴趣的:(多线程 ThreadGroup activeCount没有作用的情况下,多线程也可以自己写,ThreadGroup不一定好使)