一、多线程
并行:指两个或多个事件在同一时刻发生—同时发生
并发:指两个或多个事件在同一时间段内发生
多线程并行:多条线程同时执行
多线程并发:多条线程同时请求执行,但是cpu一次只能执行一个线程,所以只能随机交替执行,这个就是多线程并发
线程:其实就是进程的最小可执行单元
进程:其实就是应用程序可执行单元,exe文件
结论:
1.一个应用程序可以有多个进程,一个进程可以有多条线程
2.注意:一个java程序就只有一个进程,而一个进程一次只能执行一条线程,所以在java中只有多线程并发
3.线程调度:随机调度,JVm采用的是抢占式调度,没有采用分时调度,因此 可以能造成多线程执行结果的的随机性
4.线程执行具有随机性
Thread类:
构造方法:
子类继承了thread类 使用的构造方法
- public Thread():分配一个新的线程对象。
- public Thread(String name):分配一个指定名字的新的线程对象。—推荐
Runnable接口中的实现类作为参数传入thread构造方法中
- public Thread(Runnable target):分配一个带有指定目标新的线程对象。
- public Thread(Runnable target,String name):分配一个带有指定目标新的线程对象并指定名字。---推荐
常用方法:
- public String getName():获取当前线程名称。
- public static Thread currentThread():返回对当前正在执行的线程对象的引用。
- public void start():导致此线程开始执行; Java虚拟机调用此线程的run方法。
- public void run():此线程要执行的任务在此处定义代码。
- public static void sleep(long millis):使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行)。
注意:
Thread类代表线程,只有创建Thread类或者其子类对象才是创造线程对象
start()是Thread类的
run()方法是Runnable接口的