一、进程与线程一、进程进程(Process)是程序分配和调度资源(CPU、内存、磁盘等)的基本单位,是一个正在运行的实例程序。一个程序可以包含一个或多个进程。2、线程线程是操作系统能够进行计算和调度的最小单元。它包含在流程中,是流程中的实际操作单元。线程是指进程中的单个顺序控制流。多个线程可以在一个进程中并发运行,每个线程并行执行不同的任务。3、进程和线程的关系和区别操作系统中可以有多个进程,一个进程可以包含一个线程,也可以包含多个线程。每个线程在同一个进程中可以共享内存,线程也有独立的空间(栈,程序计数器)。线程需要的资源更少,可以看作是一个轻量级的进程,更容易相互通信。2.线程创建方法继承Thread类重写run方法创建Thread对象启动线程//重写run方法@Overridepublicvoidrun(){for(inti=0;i<100;i++){System.out.println(Thread.currentThread().getName()+"线程执行"+i+"次数");}}}publicclassThreadDemo{publicstaticvoidmain(String[]args){//创建Thread对象MyThreadthread=newMyThread();//启动线程thread.start();}}2.实现Runnable接口实现Runnable接口重写run方法创建Thread对象,传入Runnable对象启动线程//实现run方法@Overridepublicvoidrun(){for(inti=0;i<100;i++){System.out.println(Thread.currentThread().getName()+"threadexecuted"+i+"times");}}}publicclassRunnableDemo{publicstaticvoidmain(String[]args){//创建一个Thread对象,传入一个Runnable对象Threadthread=newThread(newMyRunnable());//启动一个线程thread.start();//创建一个Lambda表达式newThread(()->{for(inti=0;i<100;i++){System.out.println(Thread.currentThread().getName()+"threadexecuted"+i+"times");}}).start();}}3.实现Callable接口实现Callable接口创建Callable对象,传入FutureTask对象创建Thread对象,FutureTas对象启动线程//实现调用方法@OverridepublicLongcall()throwsException{longsum=0;对于(inti=0;i<1000000000;i++){sum+=i;}returnsum;}}publicclassCallableDemo{publicstaticvoidmain(String[]args){//创建一个Callable对象并传入一个FutureTask对象FutureTask
