java学习初探十八之线程和进程的区别
来源:互联网 发布:lol防封源码 编辑:程序博客网 时间:2024/05/22 14:59
一、多线程的基本概念:
1.什么是进程?
一个进程对应一个应用程序。例如:在windows操作系统中启动word,就表示启动了一个进程;在java的开发环境下启动jvm,就启动了一个进程。现代的计算机都是支持多进程的,在同一个操作系统中,可以同时启动多个进程。
2.多进程的作用
单进程计算机只能做一件事情。
玩电脑,一边玩游戏(游戏进程)一边音乐(音乐进程)。
对于单核计算机来讲,在同一个时间点上,游戏进程和音乐进程不是同时运行。因为计算机的cpu只能在某个时间点上做一件事。由于计算机将游戏进程和音乐进程之间频繁切换执行,切换速度极高,人类感觉游戏和音乐同时进行。
多进程的作用不是提高执行速度,而是提高cpu的使用率。
进程和进程之间的内存是独立的。
3.什么是线程?
线程是一个进程中的执行场景。一个进程可以启动(包含)多个线程。
4.多线程有什么作用?
多线程不是为了提高执行速度,而是提高应用程序的使用率。
线程和线程共享“堆内存和方法区内存”,栈内存是独立的,一个线程一个栈内存。
可以给现实世界中的人类一种错觉:感觉多个线程在同时并发执行。
5.java程序的运行原理
java命令会启动jvm,等于启动了一个应用程序,表示启动了一个进程。该进程会自动启动一个“主线程”,然后主线程去调用某个类的main方法,所以main方法运行在主线程中。
package ThreadTest;/** * 分析下面程序有几个线程? * 以下线程只有一个线程,就是主线程。 * main,m1,m2,m3这四个方法在同一个栈空间中 * 没有启动其他线程。 */public class ThreadTest1 { public static void main(String[] args) { m1(); } public static void m1() { m2(); } public static void m2() { m3(); } public static void m3() { System.out.println("HelloWorld"); }}
阅读全文
0 0
- java学习初探十八之线程和进程的区别
- java学习初探十八之线程的创建和启动
- java学习初探十八之线程的生命周期
- java学习初探十八之线程的线程同步_锁机制_synchronized
- java学习初探十八之线程的调度与控制_优先级
- java学习初探十八之线程的调度与控制_sleep
- java学习初探十八之线程的调度与控制_让位yield_合并jion
- VC++学习之进程和线程的区别
- Java之进程与线程的区别
- Java之进程与线程的区别
- java学习之进程和线程
- Java学习之进程和线程
- Java学习笔记之进程和线程
- Java--进程和线程的区别
- 【Java】进程和线程的区别
- java中进程和线程的区别
- java线程和进程的区别
- Java 进程和线程的区别
- JavaScript实现
- 以太坊ICO实例(代码片不好用!!)
- wife破解(一)
- gerrit pipe8 问题
- hadoop-3.0.0集群环境搭建、配置
- java学习初探十八之线程和进程的区别
- 关于怎么解决opencv无法显示图片的解决办法
- python爬虫 scrapy框架学习
- openstack中region az aggregate概念介绍
- [TensorFlow] demo1 tf.random_uniform 函数
- set方法总结
- JSON解析-python实现
- 巨简单的轮播图
- MongoDB的索引