黑马程序员技术交流社区

标题: 多线程 [打印本页]

作者: 苏周周    时间: 2014-6-13 23:07
标题: 多线程
本帖最后由 苏周周 于 2014-6-18 09:46 编辑

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

作者: lvc    时间: 2014-6-14 00:30
本帖最后由 lvc 于 2014-6-14 00:35 编辑

三种创建线程对比

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

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

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

这不知道是否对你有所帮助

作者: 苏周周    时间: 2014-6-14 23:00
lvc 发表于 2014-6-14 00:30
三种创建线程对比

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

:handshake
作者: y200745    时间: 2014-6-15 21:55
学习中了




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