利用多线程,模拟售票的场景,是java学习中常用的例子,代码也相当的简单易懂,这里就直接上代码了
Ticket
package ThreadPractice;
public class Ticket {
private int ticket;
@Override
public String toString() {
return "Ticket [ticket=" + ticket + "]";
}
public int getTicket() {
return ticket;
}
public void setTicket(int ticket) {
this.ticket = ticket;
}
public Ticket(int ticket) {
super();
this.ticket = ticket;
}
public Ticket() {
super();
}
}
TicketThread.java
package ThreadPractice;
public class TicketThread implements Runnable {
private Ticket t;
public Ticket getTicket() {
return t;
}
public void setTicket(Ticket t) {
this.t = t;
}
public TicketThread(Ticket t) {
super();
this.t = t;
}
public TicketThread() {
super();
}
public void run() {
while(t.getTicket()>0)
{
synchronized(this) {
if(t.ge