多线程

it2023-07-06  72

多线程 1.什么是进程?什么是线程?

进程是一个应用程序(一个进程是一个软件) 线程是一个进程中的执行单元。 一个进程可以启动多个线程。

2.对于java程序来说,当在DOS命令窗口输入:java HelloWorld 回车后,会先启动jvm,而jvm就是一个进程。jvm再启动一个主线程调用main方法。 同时再启动一个垃圾回收线程负责看护,回收垃圾。 最起码现在的java程序中至少有2个线程并发,一个是垃圾回收线程,一个是执行mian方法的主线程。

进程和线程的关系?

京东:进程 强东:京东的一个线程 妹妹:京东一个线程 阿里巴巴:进程 马云:阿里巴巴是一个线程 注意: 1、进程A和进程B的内存独立不共享 2、在java语言中,线程A和线程B, 堆内存和方法区内存共享 但是栈内存独立,一个线程一个栈

多线程并发:

假设有10个线程,会有10个栈空间,每个栈和每个栈之间,互不干扰,各自执行各自的,这就是多线程并发。 火车站可以看作是一个进程。火车站里的各个窗口可以看作是一个线程,我在窗口1买票,你可以在窗口2买票,你不需要等我,我也不需要等你,所以多线程是为了提高效率。

java中之所以有多线程机制,目的就是为了提高程序的处理效率。

思考一个问题: 使用了多线程机制后,main方法结束,是不是有可能程序也不会结束. main方法结束只是主线程结束了,主栈空了,其他的栈(线程)可能还在压栈弹栈。

分析一个问题:对于单核的cpu来说,真的可以做到真正的多线程并发吗?

对于多核的cpu电脑来说,真正的多线程并发是没问题的 4核cpu表示同一个时间点上,可以真正的有4个进程并发执行。

什么是真正的多线程并发? t1线程执行t1的 t2线程执行t2的 t1不会影响t1,t2也不会影响t1。这叫真正的多线程并发。

单核的cpu表示只有一个大脑: 不能做到真正的多线程并发,但是可以做到给人一种“多线程并发”的感觉。

堆和方法区共享栈内存

最新回复(0)