public class testThread implements Runnable{
    private int hcp = 10;
    @Override
    public void run() {
    while (true){
    if(hcp<=0){
    break;
    }
    try {
    Thread.sleep(200);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+”—》拿到了第”+hcp—+”张火车票”);
    }

    1. }
    2. public static void main(String [] args){<br /> testThread hc=new testThread();<br /> new Thread(hc,"小民").start();<br /> new Thread(hc,"小李").start();<br /> new Thread(hc,"小张").start();
    3. }

    }

    //模拟取钱线程不安全
    public class Account {
    int account;
    String name;

    public Account(int account, String name) {<br />        this.account = account;<br />        this.name = name;<br />    }<br />}<br />//模拟扣钱<br />class Drawing implements Runnable{
    
    private Account account;<br />    private int je;<br />    private String name;<br />    private int man;
    
    public Drawing(Account account, int je,String name) {<br />        this.account = account;<br />        this.je = je;<br />        this.name=name;<br />    }
    
    public void run() {
    
            kq();
    
    }
    
    public void kq(){
    
        while (true) {<br />            if (account.account - je < 0) {<br />                System._out_.println("s钱不够扣了"+account.account);<br />                return;<br />            }<br />            try {<br />                Thread._sleep_(1000);<br />            } catch (InterruptedException e) {<br />                e.printStackTrace();<br />            }<br />            man=je+man;<br />            account.account = account.account - je;<br />            System._out_.println(account.name + "余额为" + account.account);<br />            System._out_.println(name + "手里余额为" + man);
    
        }<br />    }
    

    }

    class zxl{
    public static void main(String [] args){
    Account account=new Account(1000,”银行”);
    Drawing drawing=new Drawing(account,700,”我”);
    Drawing drawing1=new Drawing(account,327,”老婆”);
    Thread thread=new Thread(drawing);
    Thread thread1=new Thread(drawing1);
    thread.start();
    thread1.start();

    }<br />}