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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 苏周周 中级黑马   /  2014-6-13 23:07  /  1127 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 苏周周 于 2014-6-18 09:46 编辑

ExecutorService es = Executors.newSingleThreadExecutor();
                es.execute(new Runnable(){
                        public void run(){
                                
                        }
                });
帮我解释一下这个多线程和我会写的线程的代码的不同
  new Thread(){
       public void run(){
  }.start();

3 个回复

倒序浏览
本帖最后由 lvc 于 2014-6-14 00:35 编辑

三种创建线程对比

实现Runable接口与实现Callable接口的方式基本相同,只是Callable接口里定义的方法有返回值,可以
声明抛出异常而已。所以实现Runable接口和Callable接口可归为一种方式

实现Runable、Callable接口和Thread类的差别如下
优势:
        (1).可以继承其他类
        (2).多个线程可以共享同一个target对象,适合多个相同线程来处理同一份资源的情况,
劣势:
        编程稍稍复杂,如需要访问当前线程,必须使用Thread.currentThread()方法。

继承Thread类的方式创建多线程
优势:
        编写简单,如需访问当前线程无需使用Thread.currentThread()方法,直接使用this即获得当前
          线程
劣势:
        不能再继承其他类

这不知道是否对你有所帮助
回复 使用道具 举报
lvc 发表于 2014-6-14 00:30
三种创建线程对比

实现Runable接口与实现Callable接口的方式基本相同,只是Callable接口里定义的方法有返 ...

:handshake
回复 使用道具 举报
学习中了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马