java 线程安全
当多个线程在操作同一段代码的时候,其中的一个线程只执行了一部分,没有执行完成而另一个线程又参与进来了,就有可能出现线程安全问题:
代码如下:
package com.chnsys.thread1; public class JavaResearch01 { public static void main(String[] args) { Ticket t = new Ticket(); Thread t1 = new Thread(t); Thread t2 = new Thread(t); Thread t3 = new Thread(t); Thread t4 = new Thread(t); t1.start(); t2.start(); t3.start(); t4.start(); } } class Ticket implements Runnable{ private int tick = 100; @Override public void run() { // TODO Auto-generated method stub while(true){ if(tick>0){ try { Thread.sleep(10); } catch (Exception e) { // TODO: handle exception } System.out.println(Thread.currentThread().getName()+" sell: "+tick--); } } } }