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方法,用于存储线程要运行的代码
转载于:https://www.cnblogs.com/hepengke/p/7011022.html
JAVA中的多线程(一)相关推荐
- Java中的多线程编程(超详细总结)
文章目录 Java中的多线程编程(超详细总结) 一.线程与多线程的概念 二.线程与进程之间的关系 三.一个线程的生命周期 四.多线程的目的和意义 五.线程的实现的方式 Java中的多线程编程(超详细总 ...
- JAVA中的多线程(八):线程的优先级和yield方法
JAVA中的多线程(八):线程的优先级和yield方法 优先级代表着抢资源的频率 所有线程默认优先级是5 yield()临时释放线程的执行权 1 class Demo implements Runna ...
- JAVA中的多线程与运动仿真(1)——用JAVA来放一场烟花
JAVA中的多线程与运动仿真(1)--用JAVA来放一场烟花 一.实现效果的简单展示: 初步实现的动态效果为在鼠标点击之后,点击之处出现一簇小球,然后向不同方向散开变大. 利用这一效果,再在后续增加颜 ...
- 草根方式学习java中的多线程
草根方式学习java中的多线程 下面有具体的代码和截图 源码点这里 多线程即在同一时间,可以做多件事情(说白了,就是齐头并进) 单线程就是按部就班 创建多线程有2种方式,分别是继承线程Thread类, ...
- java中实现多线程的三种方式
java中实现多线程的三种方式 1.实现多线程的方法: 在java中实现多线程的两途径:继承Thread类,实现Runable接口(Callable) 2.继承Thread类实现多线程: 继承类T ...
- Java中的多线程基本介绍
在 Java 中,多线程是指同时执行两个或多个线程以最大限度地利用 CPU 的过程. Java 中的线程是一个轻量级进程,只需要较少的资源即可创建和共享进程资源. 多线程和多进程用于 Java 中的多 ...
- Java基础——深入理解Java中的多线程(超级详细,值得你看)
Java中的多线程 进程(process)是程序的一次执行过程,或是正在运行的有一个程序,或是正在运行的一个程序.是一个动态的过程:有它自身的产生.存在和消亡的过程.--生命周期. 线程(thread ...
- JAVA中实现多线程
一,JAVA中实现多线程(一) 1,在Java中负责线程的这个功能的是Java.lang.Thread 这个类 2,可以通过创建 Thread 的实例来创建新的线程. 3,每个线程都是通过某个特定Th ...
- Java中控制多线程顺序执行
Java中控制多线程顺序执行 一.概述 二.普通示例 三.控制示例 3.1.设置线程优先级 3.2.使用线程类的join() 3.2.1.在主线程join() 3.2.2.在子线程join() 3.3 ...
最新文章
- linux 后台进程
- 程序员的爱情 第六章
- 对话通信原理系列专题目录
- App启动闪屏黑屏问题
- java的volatile是什么意思
- e4a html文本,E4A 怎么将剪贴版中的文本 粘贴到窗口的光标处啊?求个代码
- 译 | Azure 应用服务中的程序崩溃监控
- 前端学习(2856):简单秒杀系统学习之定时器循环显示
- 19.多个版本的Netcat概览
- [leetcode]5179. 将二叉搜索树变平衡
- Linux ls按时间排列
- supMap加载天地图
- 破竹课堂-老A的杠杆术
- uint8_t图像数据类型介绍
- php update when,iphone will restart when update什么意思
- netconf协议开发
- 网页内容繁简体切换(任意页面点击繁体后,其他页面也变成繁体)
- java 阿里云接口实现发送短信验证码
- 【小波滤波】基于小波变换的噪声信号滤波处理matlab仿真
- 计算机网络传播时延公式,计算机网络时延的四种时延类型都有哪些