一.线程不安全示例:
代码1:
class Ticket implements Runnable
{
public int tick = 100;
Object obj = new Object();
boolean flag = true;
@Override
public void run() {
while (true) {
if(tick>0)
{
try { Thread.sleep(10); }
catch (InterruptedException e)
{ e.printStackTrace(); }
System.out.println(Thread.currentThread().getName()+"...sale: "+tick--);
}else {
break;
}
}
}
}
class TicketDemo2{
public static void main(String[] args) {
Ticket ticket = new Ticket();
Thread t1 = new Thread(ticket,"张三");
Thread t2 = new Thread(ticket,"李四");
Thread t3 = new Thread(ticket,"王五");
t1.start();
t2.start();
t3.start();
}
}
class Ticket implements Runnable