JAVA中的多线程(一)

进程:是一个正在执行中的程序

    每一个进程执行都有一个执行的顺序,该顺序是一个执行路径,或者叫控制单元

线程:就是进程中的一个独立的控制单元

    线程在控制着进程的执行

一个进程中至少有一个线程

JAVA VM启动的时候会有一个进程java.exe

该进程中至少有一个线程在负责java程序的执行

而且这个线程运行的代码存在于main方法中

该线程称之为主线程

扩展:更细节说明JVM,JVM的启动不止一个线程,还有负责垃圾回收机制的线程

如何在自定义的代码中,自定义一个线程?

创建线程的第一种方式:

  继承Thread,步骤如下

    继承Thread类

    复写Thread类中的run方法

    调用线程的start方法,该方法有两个作用,一个是启动线程,第二个调用run方法

发现运行结果每一次都不同

因为多个线程都获取CPU的执行权,CPU执行到谁,谁就运行

明确一点,在某个时刻,只有一个程序在运行(一个线程),多核除外

CPU做快速的切换,达到看上去是同时运行的结果

我们可以形象把多线程的运行行为看成在互相抢夺CPU的执行权

这就是多线程的一个特性:随机性。谁抢到谁执行,至于执行多长,CPU说了算

 1 class Demo extends Thread
 2 {
 3     public void run()
 4     {
 5         for(int x = 0; x<60 ;x++)
 6             System.out.println("demo run"+x);
 7     }
 8 }
 9
10 class ThreadDemo
11 {
12     public static void main(String[] args)
13     {
14         Demo d = new Demo();//创建好一个线程
15         d.start();
16
17         for(int x = 0; x<60 ;x++)
18             System.out.println("Hello world"+x);19     }
20 }

为什么要覆盖run方法呢?

Thread类用于描述线程

该类就定义了一个功能,用于存储线程要运行的代码,该存储功能就是run方法

也就是说Thread类中的run方法,用于存储线程要运行的代码

posted on 2017-06-14 22:31 零EVA 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/hepengke/p/7011022.html

JAVA中的多线程(一)相关推荐

  1. Java中的多线程编程(超详细总结)

    文章目录 Java中的多线程编程(超详细总结) 一.线程与多线程的概念 二.线程与进程之间的关系 三.一个线程的生命周期 四.多线程的目的和意义 五.线程的实现的方式 Java中的多线程编程(超详细总 ...

  2. JAVA中的多线程(八):线程的优先级和yield方法

    JAVA中的多线程(八):线程的优先级和yield方法 优先级代表着抢资源的频率 所有线程默认优先级是5 yield()临时释放线程的执行权 1 class Demo implements Runna ...

  3. JAVA中的多线程与运动仿真(1)——用JAVA来放一场烟花

    JAVA中的多线程与运动仿真(1)--用JAVA来放一场烟花 一.实现效果的简单展示: 初步实现的动态效果为在鼠标点击之后,点击之处出现一簇小球,然后向不同方向散开变大. 利用这一效果,再在后续增加颜 ...

  4. 草根方式学习java中的多线程

    草根方式学习java中的多线程 下面有具体的代码和截图 源码点这里 多线程即在同一时间,可以做多件事情(说白了,就是齐头并进) 单线程就是按部就班 创建多线程有2种方式,分别是继承线程Thread类, ...

  5. java中实现多线程的三种方式

    java中实现多线程的三种方式 1.实现多线程的方法: 在java中实现多线程的两途径:继承Thread类,实现Runable接口(Callable) 2.继承Thread类实现多线程: ​ 继承类T ...

  6. Java中的多线程基本介绍

    在 Java 中,多线程是指同时执行两个或多个线程以最大限度地利用 CPU 的过程. Java 中的线程是一个轻量级进程,只需要较少的资源即可创建和共享进程资源. 多线程和多进程用于 Java 中的多 ...

  7. Java基础——深入理解Java中的多线程(超级详细,值得你看)

    Java中的多线程 进程(process)是程序的一次执行过程,或是正在运行的有一个程序,或是正在运行的一个程序.是一个动态的过程:有它自身的产生.存在和消亡的过程.--生命周期. 线程(thread ...

  8. JAVA中实现多线程

    一,JAVA中实现多线程(一) 1,在Java中负责线程的这个功能的是Java.lang.Thread 这个类 2,可以通过创建 Thread 的实例来创建新的线程. 3,每个线程都是通过某个特定Th ...

  9. Java中控制多线程顺序执行

    Java中控制多线程顺序执行 一.概述 二.普通示例 三.控制示例 3.1.设置线程优先级 3.2.使用线程类的join() 3.2.1.在主线程join() 3.2.2.在子线程join() 3.3 ...

最新文章

  1. linux 后台进程
  2. 程序员的爱情 第六章
  3. 对话通信原理系列专题目录
  4. App启动闪屏黑屏问题
  5. java的volatile是什么意思
  6. e4a html文本,E4A 怎么将剪贴版中的文本 粘贴到窗口的光标处啊?求个代码
  7. 译 | Azure 应用服务中的程序崩溃监控
  8. 前端学习(2856):简单秒杀系统学习之定时器循环显示
  9. 19.多个版本的Netcat概览
  10. [leetcode]5179. 将二叉搜索树变平衡
  11. Linux ls按时间排列
  12. supMap加载天地图
  13. 破竹课堂-老A的杠杆术
  14. uint8_t图像数据类型介绍
  15. php update when,iphone will restart when update什么意思
  16. netconf协议开发
  17. 网页内容繁简体切换(任意页面点击繁体后,其他页面也变成繁体)
  18. java 阿里云接口实现发送短信验证码
  19. 【小波滤波】基于小波变换的噪声信号滤波处理matlab仿真
  20. 计算机网络传播时延公式,计算机网络时延的四种时延类型都有哪些

热门文章

  1. 酒店管理系统房态图的效果制作
  2. 在ubuntu 11.10 64位 上安装adobe flash player
  3. 解决启动Oracle9i的OEM或OMS的常见问题(VTK-1000)
  4. 运动学与雅可比矩阵举例
  5. 再来一次的C语言贪吃蛇小游戏(一)
  6. 教练如何引导学员在线报名
  7. 打开组策略时提示inetres.admx管理模板解析出错解决方法
  8. hdu1466 计算直线的交点数
  9. 网络生活点滴 网络管理实用8招技巧
  10. 如何实现Asp与Asp.Net共享Session