一:进程与线程
进程:进程是程序的一次运行过程。进程是操作系统分配资源和调度的基本单位。
线程:线程是程序的一条执行路径。
一个进程至少包含一个线程。
引入多线程的必要性:多个线程的切换开销小,可以实现并发(宏观上一起执行)执行的效果。
二:实现多线程的方式
1.继承Thread类,复写run()方法。在run()方法里实现线程的操作。
使用start()方法启动线程。
2.实现Runnable接口,复写run()方法。使用start()方法启动线程。
public Thread(Runnable target,String name)
实现Runnable接口实现多线程的好处:
1.可以避免Java的“单继承”缺陷。
2.可以实现资源共享。
三:线程中的常用方法
public Thread(String name)
public Thread(Runnable target,String name)
1.getName() 返回该线程的名称。
2.public static Thread currentThread() 返回对当前正在执行的线程对象的引用。
3.public static void sleep(long millis) 线程休眠指定的毫秒数
4.setPriority(int newPriority) 优先级高的不一定先执行。 (不靠谱)
5.public void interrupt() 中断线程。
6.public final void join() 等待该线程终止。(靠谱)
7.setDaemon(boolean on)
该方法必须在启动线程前调用。
设置线程为守护线程(后台线程),但是当所有前台线程退出时,JVM退出。
8.public static void yield() 线程礼让 (不靠谱)
四:线程的生命周期
创建、就绪、运行、阻塞、终止。
来源:oschina
链接:https://my.oschina.net/u/2805860/blog/700113