java 多线程-资源共享

发布时间:2020-06-15 21:33:13 作者:wx5d21d5e6e5ab1
来源:网络 阅读:566

模拟抢票:

public class ThreadDownload implements Runnable {

private int num=99;
public void run()
{
    while(true)
    {
        if(num<0)
        {
            break;
        }
        try {
            Thread.sleep(200);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  //模拟延迟,停止200毫秒
        System.out.println(Thread.currentThread().getName()+"-"+num--);
    }
}

public static void main(String[]args)
{   //一份资源
    ThreadDownload web=new ThreadDownload();
    System.out.println(Thread.currentThread().getName());//在main线程中,打印main
    //多个代理
    new Thread(web,"a").start();
    new Thread(web,"b").start();
    new Thread(web,"c").start();
}
}

模拟龟兔赛跑:

public class ThreadDownload implements Runnable {
private String winner;
public void run()
{

    for(int step=1;step<=100;step++)
    {
        if(Thread.currentThread().getName().equals("兔子")&&step%10==0)
        {
            try {
                Thread.sleep(100);  
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        System.out.println(Thread.currentThread().getName()+"-->"+step);
        boolean flag=gameOver(step);
        if(flag)
        {
            break;
        }
    }
}
private boolean gameOver(int step)
{
    if(winner!=null)
    {
        return true;
    }else
    {
        if(step==100)
        {
            winner=Thread.currentThread().getName();
            System.out.println("winner=="+winner);
            return true;
        }
    }

    return false;
}
public static void main(String[]args)
{   //一份资源
     ThreadDownload td=new ThreadDownload();
    new Thread(td,"乌龟").start();
    new Thread(td,"兔子").start();
}
}
推荐阅读:
  1. 如何浅析Java并发工具类在AQS实现
  2. Java同步代码块和同步方法原理与应用案例详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java ava 资源共享

上一篇:mongodb 远程访问配置

下一篇:exchange邮件无法发送问题(被反垃圾屏蔽)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》