购票示例
public class Thread4 implements Runnable { private int traket=10; @Override public void run() { while (true){ if (traket==0) break; System.out.println(Thread.currentThread().getName()+"拿到了第"+(traket--)+"票"); } } public static void main(String[] args) { Thread4 r1 = new Thread4(); new Thread(r1,"笑话").start(); new Thread(r1,"小米").start(); new Thread(r1,"小凡").start(); } }
再次示例中会出现进程并发问题,由于多个线程请求同一个资源而导致的问题,在此示例中会出现同一个人会拿到同一张票的问题如下图: