`

Thread--Syn系列(四)线程构造方式

 
阅读更多
/**
 * 构造线程的2种方式,第三个线程是混合方式
 * 
 * @author timeriver.wang
 * @date Mar 10, 2014 3:11:05 PM
 */
public class TraditionThread {
    public static void main( String[] args ) {
        /**
         * 也可以用匿名内部类(new 父类或接口),不一定非要extends
         */
        Thread thread = new Thread() {
            public void run() {
                System.out.println( "1:" + Thread.currentThread() );
            }
        };
        thread.start();

        /**
         * 这种方式体现面向对象的思想,线程对象,线程所运行代码封装成一个对象new Runnable
         */
        Thread thread2 = new Thread( new Runnable() {
            public void run() {
                System.out.println( "2:" + Thread.currentThread() );
            }
        } );
        thread2.start();

        /**
         * Thread的匿名内部子类有run方法,就覆盖父类的run方法,不执行父Thread类的run方法 Thread父类:public void run() {if (target != null)
         * {target.run();}} 所以输出"3: Thread:",而不是"3: Runnable:"
         */
        new Thread( new Runnable() {
            public void run() {
                System.out.println( "3: Runnable:" + Thread.currentThread() );
            }
        } ) {
            public void run() {
                System.out.println( "3: Thread:" + Thread.currentThread() );
            }
        }.start();
    }
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics