一台电脑上,开一个迅雷在下载游戏,还挂着QQ和一个朋友聊天,这个迅雷和QQ是两个不相关的程序,他们之间没有相互影响,至少看起来是没有关联的。你关闭了迅雷,QQ不会退出。这里的迅雷和QQ是属于不同的进程。进程的运行和调度会消耗很多资源。你的电脑能同时开200个应用程序么?
迅雷里有10个电影在同时下载,他们之间也没有太大的影响,每个下载任务独自运行,不会因为其中一个资源下载失败导致另外的下载失败,取消了其中的一个下载任务,其它的下载任务也不会受到影响。这里的迅雷是一个进程,里面的这10个下载任务就是属于迅雷这个进程的10个线程。
下面来看看Java提供了什么方式来操作进程和线程。
每一个JVM实例是一个进程。怎么理解?
package com.iteye.badpie.javacode.thread;
public class Main {
public static void main(String[] args) {
System.out.println("这是一个JVM进程");
}
}
由一个main方法开始的一个java程序就是一个进程。在Android中表现为一个apk。实际上在java中所有的代码都不是直接在进程中运行的,JVM在启动时会首先给当前进程创建一个线程,然后让代码在这个线程中开始执行,比如这里的main方法就是在这个线程中运行的,这个线程通常称之为主线程,在Android中也有一个类似的称呼叫做UI线程。Android中的Activity,Service,Broadcast等等都是在UI线程中运行的,如果在UI线程的一次调度过程中消耗的时间超过5s,Android就会抛出一个异常,叫做ANR异常(Application Not Response,应用程序无响应)。
每一个线程都有一个名字,下面来看看JVM的主线程的名字叫什么。
package com.iteye.badpie.javacode.thread;
public class Main {
public static void main(String[] args) {
System.out.println("这实际上是属于当前JVM进程的主线程中,代码不可能直接写在进程中。");
String name = Thread.currentThread().getName();
System.out.println(String.format("当前线程(主线程)的名字:%s", name));
}
}
执行结果如下:
这实际上是属于当前JVM进程的主线程中,代码不可能直接写在进程中。
当前线程(主线程)的名字:main
看得出来,JVM默认给的主线程的名字叫做main,大约也是这个线程被称之为主线程的原因吧。
分享到:
相关推荐
10. 多线程:Java内置对多线程的支持,可以创建并控制多个线程同时执行任务,提高程序效率。 11. 核心API:Java标准库提供大量预先定义的类和接口,如集合、IO、网络、日期时间等,方便开发者快速开发应用。 12. ...
Java是一种广泛使用的面向对象的编程语言,以其跨平台性、高效性和丰富的类库而闻名。在Java编程中,"Java代码"通常指的是用Java语言编写的程序或脚本。在这个主题下,我们将深入探讨Java的基础知识,包括语法、类、...
一个线程从A表读数据放入队列 N个线程从队列中取出数据,找到其在子表中的数据 对子表中的数据开3种线程:读,发email,标记状态 N个线程对完成的A表数据做最后处理 支持大数据量跑批,就是个例子,本来是公司发送...
智慧城市-2012年NEC智慧城市解决方案.zip
IBMERP实施应收模块业务方案和用户操作手册手册超详.doc
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
JAVA保存计算过程的计算器课程设计报告样本.doc
scratch少儿编程逻辑思维游戏源码-像素任务.zip
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
scratch少儿编程逻辑思维游戏源码-死亡锯.zip
内容概要:本文档介绍了一套完整的FPGA工程项目资料包,涵盖了单精度浮点数运算(加减乘除、开方)、浮点数与整数互转以及PID控制算法的Verilog实现。每个项目都包含了详细的工程代码、测试平台(testbench)和相关说明文件。此外,还提供了MATLAB文件用于验证PID算法的准确性,以及一个小工具用于浮点数和整数的转换。所有代码均为纯Verilog编写,不依赖于任何IP核,便于用户自定义修改和优化。 适合人群:对FPGA开发感兴趣的电子工程师、硬件开发者、科研人员及高校师生。 使用场景及目标:① 学习和掌握FPGA环境下单精度浮点数运算的基本原理及其具体实现方法;② 探索并理解PID控制算法在实际系统中的应用;③ 利用提供的MATLAB文件和小工具辅助教学或研究工作。 其他说明:资料包内的所有工程均可直接在Altera平台上进行仿真测试,帮助使用者快速入门并深入理解各个模块的功能特性。
IBM企业内容管理解决方案.doc
小雉系统分卷源码,修正系统安全问题
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
scratch少儿编程逻辑思维游戏源码-我的 scratch 旅行.zip