码迷,mamicode.com
首页 > 编程语言 > 详细

多线程初学习

时间:2019-01-15 16:59:18      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:callable   vat   null   lang   怎么   ack   call   imp   start   

  首先,我们需要知道,在Java中实现多线程的方式有三种:1、继承Thread类;2、实现Runnable;3、实现Callable; 

 Runnable接口:
package java.lang;

    @FunctionalInterface
    public interface Runnable
    {
        public abstract void run();
    }

   Thread类:

package java.lang;
public
class Thread implements Runnable {
/* What will be run. */
    private Runnable target;
 private void init(ThreadGroup g, Runnable target, String name,
                      long stackSize, AccessControlContext acc) {
    .........
        this.target = target;
    ........
    }
 public Thread(Runnable target) {
        init(null, target, "Thread-" + nextThreadNum(), 0);
    }
 public synchronized void start() {
    ........
}
 
    @Override
    public void run() {
        if (target != null) {
            target.run();
        }
    }

   源码里可以看出,其实Thread也是实现了Runnable接口,用start方法调用Thread对象的时候,调用实现Runnable接口中所实现的run()方法,从这里入手,我们可以慢慢的去搞懂这个过程是怎么实现的。

多线程初学习

标签:callable   vat   null   lang   怎么   ack   call   imp   start   

原文地址:https://www.cnblogs.com/zhang-yawei/p/10272387.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!