线程与进程
进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个进程一般包括多个线程,这些线程共享本进程的内存和资源。
线程
线程是程序中的一个执行流。一个执行流是由CPU运行程序代码并操作程序的数据所形成的。因此,线程被认为是以CPU为主体的行为。在Java中线程的模型就是一个CPU、程序代码和数据的封装体。
1.创建线程
(1) 通过继承(extends)java.lang包的Thread类,然后重写其中的run()方法。
(2)线程可以通过实现Runnable接口创建线程。
进程
进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;线程中可以有多个进程同时执行。
多线程与高并发
1.多线程:进程可以简单的理解为一个可以独立运行的程序单位。它是线程的集合,进程就是有一个或多个线程构成的。多线程就是一个线程中有多个进程在执行。
2.高并发:高并发指的是是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况。
而多线程作用就是充分利用计算机资源解决高并发问题的一种方案。
Thread中的start()和run()方法的区别
1.调用start()方法会创建一个新的子线程并启动。
2.run()方法只是Thread的一个普通方法的调用,还是在主线程中执行。
sleep()方法与wait()方法
1.sleep是Thread类的方法,wait是Object类中定义的方法。
2.sleep()方法可以在任何地方使用,wait()方法只能在synchronized中使用。