1.編寫多線程應用程序,模擬多個人通過一個山洞的模擬。這個山洞每次只能通過一個人,每個人通過山洞的時間為5秒,隨機生成10個人,同時准備過此山洞,顯示一下每次通過山洞人的姓名。


package com.hanqi.xc;

import java.util.LinkedHashSet;
import java.util.Random;
import java.util.Set;

public class GuoShanDong implements Runnable {
    
    private static int deng=0;
    @Override
    public void run() {
        
                deng= deng+5000;
                
                try
                {
                    Thread.sleep(deng);
                    
                } catch (InterruptedException e)
                {
                    // TODO 自動生成的 catch 塊
                    e.printStackTrace();
                }
           
                System.out.println(Thread.currentThread().getName()
                    +" 過山洞");
                
               
           
    
        
    }
    public static void main(String[] args) {
        
         
    
        String ary[] ={"趙","錢","孫","李","周","吳","鄭","王","馮","陳"};
    
        
        GuoShanDong gsd = new GuoShanDong();
             
        Set<Integer> set=new LinkedHashSet<Integer>();
        while(true){
        if(set.size() == 10){
        break;
        }
        
        //亂序排列(隨機)
        int a=(int) (Math.random()*10);
        
        set.add(a);
        }
        for(int b:set){
        
        Thread th = new Thread(gsd, ary[b]);
         
         
         th.start();
        }            
                     
             
       }
        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM