传送门:https://wangchangchung.github.io/2016/12/05/Java常用类源码——Thread源码解析/

1、
thread的构造函数有:

public Thread( );
public Thread(Runnable target);
public Thread(String name);
public Thread(Runnable target, String name);
public Thread(ThreadGroup group, Runnable target);
public Thread(ThreadGroup group, String name);
public Thread(ThreadGroup group, Runnable target, String name);
public Thread(ThreadGroup group, Runnable target, String name, long stackSize);

/*** If this thread was constructed using a separate* <code>Runnable</code> run object, then that* <code>Runnable</code> object's <code>run</code> method is called;* otherwise, this method does nothing and returns.* <p>* Subclasses of <code>Thread</code> should override this method.** @see     #start()* @see     #stop()* @see     #Thread(ThreadGroup, Runnable, String)*/
@Override
public void run() {if (target != null) {target.run();}
}

2、分析
例如:

class MYThread implements Runnable{private String thrdName;MYThread(String name){thrdName = name;}public void run(){System.out.println(thrdName + " starting");try {for(int count = 0; count < 10; count++){Thread.sleep(400);System.out.println("IN" + thrdName + ", count is " + count);}}catch(InterruptedException exc){System.out.println(thrdName + " interrupted ");}System.out.println(thrdName + " terminating ");}
}
class useThreads
{public static void main(String []args){System.out.println("Main thread starting");MYThread mt = new MYThread("Child #1");Thread newThrd = new Thread(mt);newThrd.start();for(int i = 0; i< 50; i++){System.out.print(".");try {Thread.sleep(200);}catch(InterruptedException exc){System.out.println("Main thread interrupted");}System.out.print("21");}System.out.println(newThrd.getName());System.out.println("Main thread " + " terminating ");}
}


这里mt 是实现了Runnable接口的类MYThread的实例,把它传给Thread的构造函数,在Thread内run()方法就可以通过接口引用变量target来调用MYThread实现的run()方法了。

而如果是继承Thread来创建进程的话,调用的run()就是子类重写的run()方法了

Thread源码-----传实现了Runnable接口的类的实例给Thread的作用相关推荐

  1. 面试官系统精讲Java源码及大厂真题 - 27 Thread 源码解析

    27 Thread 源码解析 书籍乃世人积累智慧之长明灯. 引导语 从本章开始我们开始学习线程的知识,线程是非常有趣的一个章节,大多数同学对于线程 API,属于不用就忘,到用时需要百度的情况,希望通过 ...

  2. Java Thread 源码解析

    Thread 源码解析 线程的方法大部分都是使用Native使用,不允许应用层修改,是CPU调度的最基本单元.线程的资源开销相对于进程的开销是相对较少的,所以我们一般创建线程执行,而不是进程执行. T ...

  3. 长期稳定短视频去水印微信小程序源码下载自带稳定接口支持图集解析去水印

    大家好这一款小程序源码是一款去水印小程序源码 该源码里面自带了稳定接口(目前该接口已稳定运行三个月) 支持多种短视频平台去水印,另外也支持图集去水印 保存已经去好水印的作品的时候可以根据是短视频还是图 ...

  4. 独立系统去水印小程序源码-无授权+去水印解析接口

    独立系统去水印小程序源码-无授权+去水印解析接口 给大家分享一个独立去水印小程序源码. 内带一个去水印解析接口,当我发出来之后 他就是一个不稳定的共享接口了 这款是自己买的 无授权随意搭建,里面数据库 ...

  5. 从Thread.start()方法看Thread源码,多次start一个线程会怎么样

    这篇文章作为Thread类源码剖析的补充,从一个侧面来看Thread源码.也解答了面试高频问题:"多次start一个线程会怎么样?" 答案是:java.lang.IllegalTh ...

  6. 小程序源码:独家修复登录接口社区论坛-多玩法安装简单

    这是一款社区论坛小程序源码 内涵强大的功能 支持多种多样的发帖模式 比如发图文,发语音,发涂鸦,发视频等 ​ 编辑 另外还拥有礼物功能,可以对发帖人打赏,礼物等都可以自定义 另外还有商城功能 发帖还可 ...

  7. 小程序源码:最新掌上题库微信小程序源码下载,修复登录接口,支持在线考试,自定义导入考题-多玩法安装简单

    这是一款题库微信小程序源码 支持积分商城.自定义试题及导入.知识点分类.模式试题考试.流量主等 首页模块:专项刷题 .题型刷题.乱序刷题.我的收藏.我的错题.未作习题.刷知识点.考前必背 另外还有更多 ...

  8. 小程序源码:独家修复登录接口社区论坛微信小程序源码下载-支持多种发帖模式超强社区

    这是一款社区论坛小程序源码 内涵强大的功能 支持多种多样的发帖模式 比如发图文,发语音,发涂鸦,发视频等 另外也可以设置为只能会员才可以发 另外还拥有礼物功能,可以对发帖人打赏,礼物等都可以自定义 另 ...

  9. 最新掌上题库微信小程序源码下载,修复登录接口,支持在线考试,自定义导入考题

    这是一款题库微信小程序源码 支持积分商城.自定义试题及导入.知识点分类.模式试题考试等 首页模块:专项刷题.题型刷题.乱序刷题.我的收藏.我的错题.未作习题.刷知识点.考前必背 另外还有更多功能就不一 ...

最新文章

  1. 一道面试题:用多种方法实现两个数的交换
  2. SVM支持向量机——核函数、软间隔
  3. Linux 进程管理工具
  4. 《深入理解Android:卷III A》一一2.4本章小结
  5. xubuntu14.04下编译pjsip及pjsua2 java
  6. mugen4g补丁如何使用_客户端与WSUS如何连接,补丁审批,下载安装(3)
  7. HDU - 4552 怪盗基德的挑战书(后缀数组+RMQ/KMP+dp)
  8. oracle 容器运行_Oracle应用容器云的自由
  9. 接口测试之HTTP协议详解
  10. android客户端下载图片的方法
  11. 一文看尽Google I/O大会:AI打电话以假乱真,TPU 3.0正式发布
  12. sqlalchemy_外键连接表
  13. Silverlight实现强壮、可复用的拖放行为
  14. DOM 元素对象解析
  15. 操作系统-信号量机制的一些习题
  16. MyEclipse 中文转英文
  17. STM32F103_study67_The punctual atoms(STM32 OLED display experiment)
  18. McAfee解读风险管理之道 企业安全面临新挑战
  19. Outlook邮箱开源许可-android
  20. Python中的逻辑运算符号

热门文章

  1. python能做什么程序-python都能做什么
  2. python是什么课程-python是什么(python是什么课程)
  3. 55岁自学python编程-热门专业三年一换?奥鹏教育解析编程还能火多久
  4. 学python能做什么类型的工作-Python支持哪些数据类型
  5. 编程语言python怎么读-编程零基础应当如何开始学习 Python?
  6. 没有计算机基础可以学python-要学 Python 需要怎样的基础?
  7. 语音识别下一步发展如何?哪些技术可以使用?哪些价值可以发掘?
  8. 有人用语音识别写作吗,如果没有,为什么?
  9. 小米商城项目解析(完)
  10. 未来比较火的计算机领域,【火了】未来十年,中国人才最紧缺的6个专业!