目录
1.线程
一个线程执行一份代码,一个人执行一个任务,但是就是为了完成一个总任务(进程)
多个线程同时执行多个代码,当一个线程无法完成任务时,则会创建多个线程,一个进程至少有一个线程就是主线程.也把线程认为是一个mini版进程
优点:
创建线程比创建进程更快.
销毁线程比销毁进程更快.
调度线程比调度进程更快.
2.进程与线程的区别和联系
1.进程包含线程,线程在进程内部工作
2.每个进程有独立的虚拟地址空间(进程之间的资源是独立的),也有自己独立的文件描述符;同一进程的多个线程之间,则共用这一份虚拟地址空间和文件描述符表,不同进程里面的不同线程,就没有共享的资源
3.进程是操作系统中分配资源的基本单位.线程是操作系统中,调度执行的基本单位;
4.多个进程同时执行的时候,如果一个进程崩溃了,不会影响到其他的进程
同一个进程的不同线程之间,如果一个线程崩了,就可能把整个进程都搞垮,同进程的其他线程也可能没了;
3.Java 的线程 和 操作系统线程 的关系
线程是操作系统中的概念. 操作系统内核实现了线程这样的机制, 并且对用户层提供了一些 API 供用户使
用(例如 Linux 的 pthread 库).
Java 标准库中 Thread 类可以视为是对操作系统提供的 API 进行了进一步的抽象和封装