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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 张周飞 于 2014-12-24 10:12 编辑

                                                                       java中有几种方法可以实现一个线程?

java5以前,有如下两种:
            有两种实现方法:分别使用new Thread()new Thread(runnable)形式
                  第一种直接调用thread的run方法,所以,我们往往使用Thread子类,即new SubThread()。
                  第二种调用runnable的run方法。
第一种:
new Thread(){}.start();这表示调用Thread子类对象的run方法,new Thread(){}表示一个Thread的匿名子类的实例对象,子类加上run方法后的代码如下:
new Thread(){
   public void run(){
   }
}.start();

第二种:
new Thread(new Runnable(){}).start();这表示调用Thread对象接受的Runnable对象的run方法,new Runnable(){}表示一个Runnable的匿名子类的实例对象,runnable的子类加上run方法后的代码如下:
new Thread(new Runnable(){
               public void run(){
               }   
        }
   ).start();

从java5开始,还有如下一些线程池创建多线程的方式:
ExecutorService pool = Executors.newFixedThreadPool(3)
for(int i=0;i<10;i++)
{
pool.execute(new Runable(){public void run(){}});
}
Executors.newCachedThreadPool().execute(new Runable(){public void run(){}});
Executors.newSingleThreadExecutor().execute(new Runable(){public void run(){}});

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

4 个回复

倒序浏览
滔哥 黑马帝 2014-12-24 10:12:43
沙发
棒!,,,这就是大婶!
回复 使用道具 举报
真给力,虽然最后一个不怎么看的懂,不过至少知道多线程还有其他的方式
回复 使用道具 举报
线程池不懂,有待学习~
回复 使用道具 举报
第四种:FutureTask
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马