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—+”张火车票”);
}
}
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();
}
}
//模拟取钱线程不安全
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 />}