Java多线程中run和start的区别
Thread的start和run
1) start:
用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到spu时间片,就开始执行run()方法,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。
2) run:
run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。
总结:调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。
转载于:https://blog.51cto.com/visionsky/431397
Java多线程中run和start的区别相关推荐
- Java多线程中Sleep与Wait的区别
Java中的多线程是一种抢占式的机制,而不是分时机制.抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行. 共同点: 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数, ...
- java多线程中的join方法详解
java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...
- Java多线程中的ThreadLocal,可继承,可修改
Java多线程中的ThreadLocal,可继承,可修改. package test;import java.util.Date;public class InheritableThreadLocal ...
- Java多线程中使用ReentrantLock、synchronized加锁 简单举例
Java多线程中使用ReentrantLock.synchronized加锁 简单举例 public class Demo {final static Lock lock = new Reentran ...
- java 多线程的单例模式,Java多线程中的单例模式两种实现方式
Java多线程中的单例模式 一.在多线程环境下创建单例 方式一: package com.ietree.multithread.sync; public class Singletion { priv ...
- java多线程同步与死锁_浅析Java多线程中的同步和死锁
Value Engineering 1基于Java的多线程 多线程是实现并发机制的一种有效手段,它允许编程语言在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间相互独立,且与进程一样拥有独立 ...
- java多线程中的死锁、活锁、饥饿、无锁都是什么鬼?
转载自 java多线程中的死锁.活锁.饥饿.无锁都是什么鬼? 死锁.活锁.饥饿是关于多线程是否活跃出现的运行阻塞障碍问题,如果线程出现了这三种情况,即线程不再活跃,不能再正常地执行下去了. 死锁 死锁 ...
- Java多线程中static变量的使用
Java中 没处理好同步 导致两个线程同时为一个static变量赋值 会导致什么后果? Java中 没处理好同步 导致两个线程同时为一个static变量赋值 会导致什么后果?仅仅是多耗资源还是会引发异 ...
- 【Java之多线程(二)】(***重要***)Java多线程中常见方法的区别,如object.wait()和Thread.sleep()的区别等
1.Java中Thread和Runnable的区别??? 区别: 在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下好处: 避免点 ...
最新文章
- html 右边是iframe 左右结构_HTML速查表
- C#的winform拼数字游戏
- VC小技巧(三)视图
- C++虚继承下的内存模型(二)
- 安装ubuntu20.4+gtx1050+cuda11.3
- 如何修改ant-input的高度_水质自动采样器的流量计功能如何应用?
- python-字典数据类型-0222
- nginx与PHP配置
- python怎么读取csv文件-Python读取csv文件(详解版,看了无师自通)
- 进阶08 Collections实现类、Comparator比较器接口
- 【图像去噪】基于matlab中值滤波图像去噪【含Matlab源码 421期】
- Lingo 软件的使用 数学建模 司守奎
- Effective Tips on How to Get Rid of Your Acne Scars Using Acne Scar Home Remedies
- A Survey on Knowledge Graphs___Representation, Acquisition and Applications.知识图谱综述:表示,获取,应用
- 学习OpenCV双目测距原理及常见问题解答
- [JPBC] BigInteger 和 Element 的转换
- **将古典融汇到现代(二)一座连接蕴涵式和三段论的桥--皮尔斯逻辑之五**
- Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“(已解决)
- quartz建表语句
- esp8266最小系统似乎是可以直接用起来接在飞控上的
热门文章
- Camel中的几个重要概念之Routes, RouteBuilders 和 Java DSL
- Java语言基础22--访问权限
- React性能优化 PureComponent
- python __builtins__ float类 (25)
- React Native 轻松集成分享功能(Android 篇)
- ajax实现highchart与数据库数据结合完整案例分析(三)---柱状折线图
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- iPhone客户端开发笔记(八)
- ScrollView’s handy trick
- npm run mock | npm run dev只能启动一个