创建线程的第一种方式:继承Thread ,由子类复写run方法。
步骤:
1,定义类继承Thread类;
2,目的是复写run方法,将要让线程运行的代码都存储到run方法中;
3,通过创建Thread类的子类对象,创建线程对象;
4,调用线程的start方法,开启线程,并执行run方法。
创建线程的第二种方式:实现一个接口Runnable。
步骤:
1,定义类实现Runnable接口。
2,覆盖接口中的run方法(用于封装线程要运行的代码)。
3,通过Thread类创建线程对象;
4,将实现了Runnable接口的子类对象作为实际参数传递给Thread类中的构造函数。
为什么要传递呢?因为要让线程对象明确要运行的run方法所属的对象

最新文章

  1. smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed')解决办法
  2. css知多少(6)——选择器的优先级
  3. 关于asp.net的一点小问题有谁帮忙解答一下?
  4. Introduction to ASP.NET Web Programming Using the Razor Syntax (C#)
  5. JAVA 拆分窗口
  6. linux shell执行方式
  7. LVS高可用集群
  8. iscc2016-basic-心灵鸡汤
  9. DataTable去重复方法
  10. Unity中OnGUI绘制贪吃蛇
  11. C-重定向
  12. (图文实例)用VB.net操作SQLite数据库
  13. Delphi 日期时间函数
  14. 论文阅读笔记(二)U-Net
  15. jQuery实现单击某个标签改变样式
  16. kafka中zookeeper的操作
  17. Spring Cloud Feign 使用方法与性能优化
  18. 从开启GTID功能的库同步数据到未开启GTID功能库时,注意事项!
  19. vue中使用lodash
  20. javascript基于原型的语言的特点

热门文章

  1. Dom4j 操作文件,文件相对路径的问题
  2. rsync(六)命令中文手册
  3. 华为codecraft2018总结
  4. java定时器Timer的使用
  5. 通过url在两个页面之间传值
  6. Eclipse用Runnable JAR file方式打jar包,并用该jar包进行二次开发
  7. git 回退到服务器版本操作
  8. node中的url模块解析结果
  9. 渲染路径-实时渲染中常用的几种Rendering Path
  10. atcoder#073D(枚舉)