线程和进程
线程与进程
进程:进程是程序的一次执行,进程是一个程序及其数据在处理机上顺序执行时所发生的活动,进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配的一个独立单位。
简单来说:进程实现多处理非常耗费CPU的资源,而我们引入线程是作为调度和分派的基本单位(取代进程的部分基本功能【调度】)
线程:线程作为资源调度的基本单位,是程序的执行单元,执行路径(单线程:一条执行路径,多线程:多条执行路径)。是程序使用CPU调度的最基本单位。
java默认有2个线程
- main线程
- gc垃圾回收线程
java三种开启线程方式()
Thread,Runnable,Callable
java并没有权限开启线程,而是通过底层C++方法调用
并发,并行
并发(在一个时间段内运行)通过快速切换线程表现出同时运行的假象 充分利用cpu资源
并行(在同一时间运行)多个线程同时执行 线程池
public class test1 {
public static void main(String[] args) {
//获取cpu核数
//cpu密集型,IO密集型
System.out.println(Runtime.getRuntime().availableProcessors());
}
}