java进程和线程
一 进程和线程
1 进程:指程序中的每一个执行文件 exe 有独立的系统内存和资源
2 线程:指进程当中每一个独立的小任务 竞争关系
二 ,多线程的优势
1 充分利用cpu资源
2 简化代码模型
3 提高用户体验
三 多进程和多线程区别
多进程:操作系统中同时运行的多个程序
多线程:在同一个进程中同时运行的多个任务
举个例子,多线程下载软件,可以同时运行多个线程,但是通过程序运行的结果发现,每一次结果都不一致。 因为多线程存在一个特性:随机性。造成的原因:CPU在瞬间不断切换去处理各个线程而导致的,可以理解成多个线程在抢CPU资源。
四 Java中的多线程
Java程序的进程里有几个线程:主线程,垃圾回收线程(后台线程)等
在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程中的一个线程,也称主线程。
Java支持多线程,当Java程序执行main方法的时候,就是在执行一个名字叫做main的线程,可以在main方法执行时,开启多个线程A,B,C,多个线程 main,A,B,C同时执行,相互抢夺CPU,Thread类是java.lang包下的一个常用类,每一个Thread类的对象,就代表一个处于某种状态的线程
五 使用多线程的步骤
1 定义线程(extends Thread和implements Runnable)
2 创建线程对象
3 调用start方法启动线程
4 关闭线程
六 线程的五个状态
1 创建状态:Thread t1=new Thread(mt1);
2 就绪状态:启动线程以后 但是没有抢到CPU资源时
3 运行状态:线程抢到资源并且执行run方法时
4 阻塞状态:使用线程调度方法将线程转为阻塞状态
(a.吐出CPU资源+b。在指定时间内被冻结 没有资格去抢占资源)
5.死亡状态:调用方法使线程死亡或者线程自然死亡
七 线程安全 :实现线程同步的类被认为线程安全 否则不安全
1 安全:HashTable/Stirng Buffer
2 不安全:HashMap/StringBuilder
ps :线程安全的效率低
十 习题
package com.lx;
public