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();
            
            
        }
    
    }
  • 相关阅读:
    ES数据导入导出
    python Elasticsearch5.x使用
    http://elasticsearch-py.readthedocs.io/en/master/api.html
    Python Elasticsearch api
    es批量索引
    Razor字符串处理
    [.NET] ConfuserEx脱壳工具打包
    查看网页源码的时候找不到数据绑定
    HearthBuddy decompile
    Quickstart: Create and publish a package using Visual Studio (.NET Framework, Windows)
  • 原文地址:https://www.cnblogs.com/zhv5/p/6134717.html
Copyright © 2011-2022 走看看