Refer to this blog post (http://blog.csdn.net/liutengteng130/article/details/20036517), where you can use the thread and runnable interface to implement the ticketing multi-window simulation problem.
Runnable interface implementation of the characteristics of the method--multi-threaded error-Free modification class public variable value problem, feel very valuable, the source code to make a comment, take to analyze and share with you:
Class ThreadTest implements runnable{ private int ticket =100; 100 Tickets Required Sales public void Run () { //runnable interface while (true) { if (Ticket > 0) { //different thread ticketing, and modify common class properties- ——— Note: The value here is that there is no declaration of lock System.out.println (Thread.CurrentThread (). GetName () + "is saling ticket" + ticket--); } else{break ; }}} public static void Main (string[] args) { threadtest t = new threadtest (); Create 4 threads, and then start the new Thread (t) in turn. Start (); New Thread (t). Start (); New Thread (t). Start (); New Thread (t). Start (); } }
Using the Java Runnable interface to simulate multiple windows (threads) selling parallel programs of the same type of ticket