zoukankan      html  css  js  c++  java
  • 线程压力测试

    import java.util.*;
    public class ThreadTest {

    public static void main(String[] args) throws InterruptedException {
    new Monitor().start();
    new MyThread().launch();
    }
    }

    class MyThread extends Thread {
    //被争抢资源
    public static Integer i = 0;
    //线程容器
    public static List<MyThread> list = new ArrayList<MyThread>();
    //启动50个线程
    public void launch() {
    for (int i = 0; i < 50; i++) {
    MyThread temThread = new MyThread();
    list.add(temThread);
    temThread.start();
    }
    }

    @Override
    public void run() {

    try {
    //增大争抢强度
    Thread.sleep(2);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    synchronized (MyThread.i) {
    //主要的任务
    MyThread.i++;
    }
    }
    }

    class Monitor extends Thread {

    public int n = 0;

    @Override
    public void run() {
    while (true) {
    try {
    //心跳1秒
    sleep(1000);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }

    //判断线程是否结束
    boolean isOver = true;
    for (MyThread thread : MyThread.list) {
    // 如果有一个活着就没有结束
    if (thread.isAlive()) {
    isOver = false;
    }
    }
    //输出格式化
    if (n % 10 == 0 && n != 0) {
    System.out.println();
    }
    //结果输出
    if (isOver) {
    System.out.print(n++ + "-" + MyThread.i + "; ");
    synchronized (MyThread.i) {
    MyThread.i = 0;
    }
    MyThread.list = new ArrayList<MyThread>();
    new MyThread().launch();
    }
    }
    }
    }

  • 相关阅读:
    CF991D Bishwock
    CF1010D Mars rover
    NOIP 2011 计算系数
    SDOI 2008 仪仗队
    浅谈欧拉函数
    CF1249F Maximum Weight Subset
    NOIP 2011 铺地毯
    CF707D Persistent Bookcase
    C++ STL bitset 容器详解
    CF798D Mike and distribution
  • 原文地址:https://www.cnblogs.com/ailiying/p/12572944.html
Copyright © 2011-2022 走看看