黑马程序员技术交流社区

标题: 创建多线程的两种方法 [打印本页]

作者: 强强_U00ts    时间: 2015-7-23 20:10
标题: 创建多线程的两种方法
创建线程有两种方法,:

第一种方法:;

继承Thread类。

步骤:

1,定义类继承Thread。

2,复写Thread类中的run方法。

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





3,调用线程的start方法,

该方法两个作用:启动线程,调用run方法。

[java] view plaincopy
class ThreadDemo extends Thread   
{     
    public void run()//使用新线程运行for循环中的代码  
        {  
            for (int x=0;x<10;x++ )  
            {  
                System.out.println("新线程"+x);//在控制台输出10条测试语句  
            }  
        }  
    public static void main(String[] args)   
    {  
        ThreadDemo t = new ThreadDemo();//创建Thread类的对象  
        t.start();//调用Thread类的start()方法来启动新线程  
  
      
        for (int x = 0;x<10 ;x++ )//在主线程中运行for循环中的代码  
        {  
            System.out.println("主线程"+x);//输出十条测试语句  
        }  
         
    }  
}  

第二种方法:

实现Runnable接口创建线程

步骤:

1,新建一个类,该类实现了Runnable接口并重写了run()方法,.run()方法中包含要在新线程中运行的代码

2,使用刚刚编写的类创建Runnablie接口类型的对象.

3,使用Thread类的构造方法创建Thread类的对象..

4 4,调用Tread类的start()方法来运行新线程
[java] view plaincopy
class RunnableDemo implements Runnable   
{     
    public void run()//使用新线程运行for循环中的代码  
        {  
            for (int x=0;x<10;x++ )  
            {  
                System.out.println("新线程"+x);//在控制台输出10条测试语句  
            }  
        }  
    public static void main(String[] args)   
    {  
        Runnable r = new RunnableDemo();//创建Runnable接口的对象  
        Thread t = new Thread(r);//利用Runnable接口的对象创建Thread类对象  
  
        t.start();//调用Thread类的start()方法来启动新线程  
        for (int x = 0;x<10 ;x++ )//在主线程中运行for循环中的代码  
        {  
            System.out.println("主线程"+x);//输出十条测试语句  
        }  
         
    }  
}  
java仅支持单继承,创建大量的Tread类对象开销打
Runnable接口不存在这个问题,更加适用

继承Thread:线程代码存放在Thread子类run方法中.
实现Runnable:线程代码存放在接口的子类run中
作者: China_Riven    时间: 2015-7-23 21:04
今天面试就考了这个内容,比这个稍微复杂一点




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2