多线程
多线程实际是调用的操作系统中多线程操作的接口,在多线程的操作系统中,线程是可以并行存在的,即在某一时刻,cpu可以同时运行多个线程(多核CPU)。操作系统对多线程的调度对于java来说是不可见,对程序员来说是不可知的,所以在多线程运行时会存在很多问题。
多线程编程的原因:节约资源,当多个用户在用一时间段操作服务器时,必须使用多线程才能达到极快的响应。
生命周期
线程有5种状态
1.新建状态:新建一个线程对象。
2.就绪状态:线程对象运行start()方法,进入就绪队列,等待jvm虚拟机调度机的调度。
3.运行状态:就绪线程执行run()方法,进入运行状态,根据run()方法的代码线程会进入就绪、阻塞、死亡状态。
4.阻塞状态:线程执行sleep、join等。
5.死亡状态:线程完成任务或执行其他命令时。
进程与线程
一个进程可以存在一个或多个线程。
线程是一条有序的操作。
Java线程实现
实现Runnable接口或继承Thread类
实现run函数,自己写start函数,在函数中初始化Thread对象并调用run()方法。
Runnable接口实现的线程是没有返回值的。
实现Runbable接口方式
public classRunnableDemo implements Runnable {
private Thread thread;
private String threadName;
public