线程--线程建立与Thread类

建立线程的两种方法:java

  1. 继承thread类:ide

    1>定义类继承Thread。

        2>复写Thread类中的run方法。spa

            目的:将自定义代码存储在run方法。让线程运行。线程

        3>调用线程的start方法,该方法两个做用:启动线程,调用run方法。code

class ThreadTest extends Thread{
	@Override
	public void run() {
		// TODO Auto-generated method stub
		while(true){
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println(Thread.currentThread().getName());
		}
	}
}

该类就定义了一个功能,用于存储线程要运行的代码。该存储功能就是run方法。对象

也就是说Thread类中的run方法,用于存储线程要运行的代码继承

2.实现runnable接口接口

    1>定义类实现Runnable接口get

    2>覆盖Runnable接口中的run方法,将线程要运行的代码存放在该run方法中。io

    3>经过Thread类创建线程对象。

class Ticket implements Runnable//extends Thread
{
	private  int tick = 100;
	public void run()
	{
		while(true)
		{
			if(tick>0)
			{
				System.out.println(Thread.currentThread().getName()+"....sale : "+ tick--);
			}
		}
	}
}

或者new Thread(new Runnable(  run(){} )).start();    //将其做为参数传递给Thread类


实现方式好处:避免了单继承的局限性。

在定义线程时,建议使用实现方式。


两种方式区别:

继承Thread:线程代码存放Thread子类run方法中。

实现Runnable,线程代码存在接口的子类的run方法。

相关文章
相关标签/搜索