JavaEE之多线程01

Posted 玄鸟轩墨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaEE之多线程01相关的知识,希望对你有一定的参考价值。

@toc

写在前面

我们前面已经初步了解到了进程的基本知识,知道一个进程运行需要向内存申请资源。这些都是我们学习今天知识的基础。

线程

进程运行需要申请资源,结束需要释放资源。一次下来操作系统还可以接受。但是要是次数过多,我想谁也吃不消的。于是聪明的人类有提出一个叫作线程(Thread)的概念,所谓的线程,它的作用和进程差不多,有时我们也称它为“轻量级进程”。不过有下面几点优势。

  • 线程不需要开辟资源和释放资源,它是存在一个进程中的,和这个进程共用这片资源。
  • 一个进程可以包含一个或多个线程。

线程和进程关系

这是一个很经典的面试题,我们一定要会。

  • 一个进程可以包含一个多个线程
  • 每个进程都有独立的内存空间(虚拟地址空间),进程包含的线程共用这一片空间
  • 进程是操作系统分配空间的基本单位,线程是操作系统调度执行的基本单位。
  1. 内存 (变量)
  2. 文件 (后面说)

线程和代码的关系

一个线程就是一个代码的执行流,具体我们先不来了解。

多进程和多线程

我们前面说了,线程的开辟与销毁是不需要空间的参与的,所以说一定程度上线程优于进程。我们希望计算机执行的速度越快越好,所以出现了两种方式。我们用例子举例,假如这里有100只

以上是关于JavaEE之多线程01的主要内容,如果未能解决你的问题,请参考以下文章

java之多线程的理解

java之多线程

Java之多线程

并发编程之多线程线程安全

python之多线程

JUC之多线程锁