线程1

来源:互联网 发布:mysql 如何使用 编辑:程序博客网 时间:2024/05/22 01:44
编写多线程程序,模拟多个人通过一个山洞。这个山洞每次只能通过一个人,每个人通过山洞的时间为2秒(sleep)。随机生成10个人,都要通过此山洞,用随机值对应的字符串表示人名,打印输出每次通过山洞的人名。提示:利用线程同步机制,过山洞用一条输出语句表示,该输出语句打印输出当前过山洞的人名,每个人过山洞对应一个线程,哪个线程执行这条输出语句,就表示哪个人过山洞。1.代码如下:public class Test { public static void main(String[] args) {    for(int a = 0;a<10;a++){         Peoper p = new Peoper(a);         Thread t = new Thread(p);         t.start();    } }}class Peoper implements Runnable{     int name;     Peoper(int name){        this.name = name;     }    Object lock = new Object();    @Override    public void run() {        synchronized (lock) {           try {             Thread.sleep(2000);             System.out.println(name+":通过");            } catch (InterruptedException e) {                  e.printStackTrace();           }     }    } }

原创粉丝点击