zoukankan      html  css  js  c++  java
  • 线程模拟下载

    class LoadDown implements Runnable{
         static double num=0;
          static double n1 =0;
          static double n2 =0;
          static double n3 =0;
          static double n4 =0;
        public void run(){
            
            while(true){
                synchronized ("锁") {
                if (num<=500) {
                    try {
                        Thread.sleep(10);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    if(Thread.currentThread().getName().equals("下载线程一")){
                        n1 +=1;
                    }else if (Thread.currentThread().getName().equals("下载线程二")) {
                        n2 +=1;    
                    }else if(Thread.currentThread().getName().equals("下载线程三")) {
                        n3 +=1;
                    }else if(Thread.currentThread().getName().equals("下载线程四")) {
                        n4 +=1;
                    }
                    System.out.println(Thread.currentThread().getName()+"已下载"+(num/500)*100+"%");
                    num++;
                }else{
                    System.out.println("已经下载完成");
                    break;
                }
                }
                
            }
             System.out.println("每个线程各下载: "+(n1/500)*100+"%"+"		"+(n2/500)*100+"%"+"	"+(n3/500)*100+"%"+"	"+(n4/500)*100+"%"+"	");
             System.out.println(n1+" "+n2+" "+n3+" "+n4);
        }
        
        
    }
    
    
    public class demo1 {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            LoadDown loadDown =new LoadDown();
            Thread thread1=new Thread(loadDown,"下载线程一");
            Thread thread2=new Thread(loadDown,"下载线程二");
            Thread thread3=new Thread(loadDown,"下载线程三");
            Thread thread4=new Thread(loadDown,"下载线程四");
            
            thread1.start();
            thread2.start();
            thread3.start();
            thread4.start();
            
            
        }
    
    }
  • 相关阅读:
    5大用例设计笔试大题,附详细解析!
    面试被问到:fiddler 在工作中有哪些应用?怎么破?
    Jmeter设置中文
    Git 操作
    测压数据处理脚本
    python通过126邮箱发送邮件
    Python读取Mysql数据并写入Excel
    Git基本操作命令
    python接口自动化框架探讨
    寒假每日一题(B
  • 原文地址:https://www.cnblogs.com/zhv5/p/6134717.html
Copyright © 2011-2022 走看看