多线程的创建和启动

 *  在java语言中实现多线程的第一种方式, 继承 java.lang.Thread; 之后重写run()方法。

 *  使用多线程之后,主线程和其他线程是不在同一个栈中的,一个线程对应一个栈。

 *  main方法会自动创建一个主线程,main方法结束只是代表主线程的栈弹空了,没有栈帧了, 但是其他线程的栈中可能还有栈帧,还会继续执行。

  package com.shige.Thread;

  /*
在java语言中实现多线程的第一种方式, 继承 java.lang.Thread; ,重写run()方法。 使用多线程之后,主线程和其他线程不在同一个栈中,一个线程对应一个栈,main方法结束只是主线程的栈弹空了,没有栈帧了,但是其他线程的栈中可能还有栈帧,还会继续执行。
*/
public class ThreadTest0 {
public static void main(String[] args) { //创建线程
Thread thread=new Processor(); //父类引用指向子类对象 //启动线程,告诉JVM再分配一个栈给thread线程
//run()方法不需要手动调用,线程启动后会自动调用
thread.start(); //如果直接调用thread.run();方法,那就是普通的调用了一个方法,没有产生新的线程,程序还是单线程的只有一个主线程,会按程序顺序执行,不会交叉执行了。 // thread.run(); //该for循环在主线程中运行
for (int i = 0; i <10 ; i++) {
System.out.println("main---->"+i); } } } //定义一个线程
class Processor extends Thread{ //继承 java.lang.Thread; //重写run()方法,该方法运行在新创建的线程中。
public void run(){
for (int i = 0; i < 10; i++) {
System.out.println("run---->"+i); }
} }

最新文章

  1. vNext之旅(2):net451、dotnet5.4、dnx451、dnxcore50都是什么鬼
  2. JavaScript - 基本概念
  3. mac 文本编辑器 文本编码Unicode utf-8 不适用的问题
  4. Hadoop Eclipse开发环境搭建
  5. 创建一个cocos2d-x工程添加一个自定义Scene并显示
  6. sql快速生成大量数据
  7. 关于org.openqa.selenium.ElementNotVisibleException
  8. yii columns value and type and checkbox columns
  9. MySQL存储引擎:InnoDB和MyISAM的差别/优劣评价/评测/性能测试
  10. Matrix (二维树状数组)
  11. FZU 2030 括号问题(回溯)
  12. How to create DB2 user function easily by DB Query Analyzer 6.03
  13. smarty模板基础----缓存数据
  14. 并发连接MySQL
  15. 指导手册05:MapReduce编程入门
  16. 【转】64位系统下无法使用libpam-mysql的md5
  17. Golang 处理 Json(二):解码
  18. 在MS SQL删除重复行的几种方法
  19. 字符串拆分函数 func_splitstr
  20. CodeForces - 831A Unimodal Array 模拟

热门文章

  1. tomcat部署项目问题
  2. 基于Docker Compose部署分布式MinIO集群
  3. HDOJ-3416(最大流+最短路+ISAP算法+向前星dijikstra算法+如何判断一条边是否在最短路中)
  4. ArrayList源码分析笔记
  5. 翻译:《实用的Python编程》04_01_Class
  6. spring-cloud-alibaba之Nacos
  7. java 集合 的理解
  8. Django之cookie 与session组件
  9. python-@函数装饰器
  10. 开灯问题3_2(JAVA语言)