//多线程的创建:
//方式一:继承于Thread类的方式进行创建
//1、创建一个继承Thread类的子类
//2、重写Thread类中的run()方法–>将此线程执行的操作写在run方法中
//3、创建Thread类的子类的对象
//4、通过子对象去调用start()

下面的是具体实例:
在这里插入图片描述
由主方法main中可以看出,我们是创建了一个对象,然后通过,该对象调用Thread类中的start()方法,从m.start()这里创建了另外一个线程,而下面的方法实在主线程中执行的,我们可以验证:
在这里插入图片描述
通过执行结果可以看出,我们对象调用start方法执行的父类的名字为Thread,而main方法中的for循环执行的为main;因此是两个线程同时执行的(这个代码的每个人运行的结果可能会不一样,原因是因为:每个人的计算机的性能不一样,cpu的主频不一样导致的);最重要的一点在main方法中一个对象只能执行一次start方法,如果一个对象在main方法中执行多次start方法,则会报错,具体看如下图:
在这里插入图片描述
看不懂得继续看下图:
在这里插入图片描述
源码中显示,start()方法同一个对象只能调用一次,如果出现同一个对象调用多次,则会报异常,即Exception in thread “main” java.lang.IllegalThreadStateException !!

有错误的地方,欢迎指正!!!

java中多线程的创建方式一:相关推荐

  1. (面经总结)一篇文章带你整理面试过程中关于Java 中多线程的创建方式的最全整理

    文章目录 一.Java线程的创建方式 二.继承Thread类 三.实现 Runnable 接口 四.通过ExecutorService和`Callable`实现有返回值的线程 五.基于线程池 六.面试 ...

  2. java中多线程的实现方式

    基本概念: 线程可以看做轻量级进程(进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位),线程是进程的执行单元,是进程调度的基本单位. 创建方式: 线程的创建方式有两种:① ...

  3. java 中线程的创建方式

    如果说在java中创建线程的有几种方式的话,归根结底我认为就两种方式 1.继承Thread类,重写run方法 继承Thread类,如下图重写了run()方法 通过start()方法来启动线程 最后的输 ...

  4. Java中多线程访问冲突的解决方式

    Java中多线程访问冲突的解决方式 当时用多线程访问同一个资源时,非常容易出现线程安全的问题,例如当多个线程同时对一个数据进行修改时,会导致某些线程对数据的修改丢失.因此需要采用同步机制来解决这种问题 ...

  5. Java中线程的创建有两种方式

    Java中继承thread类与实现Runnable接口的区别 Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过 ...

  6. Java 并发 多线程:创建线程的四种方式

    Java 并发 多线程: 创建线程的四种方式 继承 Thread 类并重写 run 方法 实现 Runnable 接口 实现 Callable 接口 使用线程池的方式创建 1. 通过继承 Thread ...

  7. 浅析Java中对象的创建与对象的数据类型转换

    这篇文章主要介绍了Java中对象的创建与对象的数据类型转换,是Java入门学习中的基础知识,需要的朋友可以参考下 Java:对象创建和初始化过程 1.Java中的数据类型     Java中有3个数据 ...

  8. Java中多线程的性能比较

    Java中有多种用于多线程的技术. 可以通过同步关键字,锁或原子变量来并行化Java中的一段代码. 这篇文章将比较使用synced关键字ReentrantLock,getAndIncrement()以 ...

  9. java 中数组的创建 数组遍历 以及数组的输出(打印)

    什么是数组? 如果我们需要创建一个 int 类型变量,那么我们只需要 int a; 如果我们需要创建五个 int 类型变量,那么我们只需要int a1; int a2; int a3; int a4; ...

最新文章

  1. 【干货】新手炼丹经验总结
  2. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
  3. 升学在线如何从容应对流量高峰?
  4. 无法定位程序输入点SetDefaultDllDirectories
  5. :传递给 left 或 substring 函数的长度参数无效。_Java函数式编码结构-好程序员
  6. #python练习实例0:制作1-100随机抽取3个数字排队列
  7. 推荐系统的变与不变:冷启动、召回排序、长期生态与目标拆解
  8. Python文件输入输出
  9. 【转】7个顶级心理预言
  10. 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了
  11. 计算机视觉与深度学习应用关系
  12. 对目录的操作(opendir)
  13. Pr 音频效果参考:振幅与压限
  14. C#编程--ribbon界面介绍
  15. 网站内容收录不稳定/不收录的原因分析
  16. 美女程序员在国外:余露 – Android开发者在新加坡
  17. Profibus DP-Slave in C
  18. JavaScript里的var变量
  19. 语音识别数据预处理(添加噪音)和特征提取
  20. A reference for learning process

热门文章

  1. python处理金融数据_python-金融数据处理demo
  2. Kryo为什么比Hessian快
  3. another mysql daemon_MySQL错误Another MySQL daemon already running with the same unix socket.
  4. python制作图片墙_利用python生成照片墙的示例代码
  5. wpf开发仿真3d软件_3D体验平台品牌应用——SOLIDWORKS?
  6. 计算机专业笔记本需要小键盘吗,笔记本电脑小键盘数字0不能用
  7. python列表赋值 连续整数_Python_03_字符串_数据类型_for循环_列表操作
  8. 苹果html阅读器,设置Safari 10.0.2阅读器Reader字体
  9. postgresql 备份 java_用JAVA执行CMD命令备份PG数据库,解决需要输入口令的问题
  10. c语言字母表等腰三角,【原创】CS必修课——C语言基础编程实战26“C语言输出等腰三角形”...