A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jmf332376308 中级黑马   /  2016-7-19 21:31  /  345 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

实现多线程可以通过继承Thread类和实现Runnable接口。
        (1)继承Thread
            定义一个类继承Thread类
            复写Thread类中的public void run()方法,将线程的任务代码封装到run方法中
            直接创建Thread的子类对象,创建线程
            调用start()方法,开启线程(调用线程的任务run方法)
            //另外可以通过Thread的getName()获取线程的名称。

        (2)实现Runnable接口;
                定义一个类,实现Runnable接口;
                覆盖接口的public void run()的方法,将线程的任务代码封装到run方法中;
                创建Runnable接口的子类对象
                将Runnabl接口的子类对象作为参数传递给Thread类的构造函数,创建Thread类对象
                       (原因:线程的任务都封装在Runnable接口子类对象的run方法中。
                         所以要在线程对象创建时就必须明确要运行的任务)。
                调用start()方法,启动线程。
       
        两种方法区别:
                (1)实现Runnable接口避免了单继承的局限性
                (2)继承Thread类线程代码存放在Thread子类的run方法中
                   实现Runnable接口线程代码存放在接口的子类的run方法中;
                   在定义线程时,建议使用实现Runnable接口,因为几乎所有多线程都可以使用这种方式实现

2 个回复

正序浏览
好牛啊,正好看到这里,谢谢楼主啦
回复 使用道具 举报
666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马