java 多线程小记

/*java里面实现多线程一般有两种方式
 * 1,继承Thread类,实现run方法
 * 2,实现Runnable接口,实现run方法
 * start方法可以新建一个线程,创建多线程必须调用此方法
 * run方法用于存放要多线程要运行的代码
 * */
public class ThreadDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        TicketT t1=new TicketT();
        TicketT t2=new TicketT();
        TicketT t3=new TicketT();
        TicketT t4=new TicketT();
        t1.start();//新建线程1
        t2.start();//线程2
        t3.start();//线程3
        t4.start();//线程4
        TickR r1=new TickR();
        Thread t5=new Thread(r1);//将实现runable接口的类作为参数传递
        t5.start();//新建线程,start中调用的是参数r1的run方法
    }

    
}

/**继承Thread类,实现run方法,调用start()创建线程
 * @author Changshuo
 */
class TicketT extends Thread
{
    private static int tick=100;
    @Override
    public void run() {
        while (true) {
            if (tick>0) {
                System.out.println(Thread.currentThread().getName()+"....卖:"+tick--);
            }
        }
    }
}
/**
 * 1,实现Runnable接口, 
 * 2,实现接口的run方法,将线程要运行的方法存放在run方法中
 * 3,建立Thread类的线程对象,把接口的子类对象传递给Thread的构造函数
 * 4,调用Thread类的start()开启线程,并调用Runnable的run方法
 * @author Changshuo
 *
 */
class TickR implements Runnable
{
    private int tick=100;
    @Override
    public void run() {
        while (true) {
            if (tick>0) {
                System.out.println(Thread.currentThread().getName()+"....卖:"+tick--);
            }
        }        
    }    
}

 

posted @ 2013-08-27 23:34  苦逼IT男  阅读(209)  评论(0编辑  收藏  举报