进程和线程
进程
应用程序的执行实例 有独立的内存空间和系统资源
线程
CPU调度和分派的基本单位 进程中执行运算的最小单位,可完成一个独立的顺序控制流程
多线程
如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为“多线程”
多个线程交替占用CPU资源,而非真正的并行执行
多线程好处
充分利用CPU的资源 简化编程模型 带来良好的用户体验
主线程
线程的创建和启动
在Java中创建线程的两种方式
继承java.lang.Thread类 实现java.lang.Runnable接口
创建线程
定义MyThread类继承Thread类 / 定义MyRunnable类实现Runnable接口
重写run()方法,编写线程执行体
创建线程对象,调用start()方法启动线程
比较两种创建线程的方式
继承Thread类
编写简单,可直接操作线程 适用于单继承
实现Runnable接口
避免单继承局限性 便于共享资源
线程的状态
线程调度
线程优先级
线程优先级由1~10表示,1最低,默认优先级为5
优先级高的线程获得CPU资源的概率较大
线程的强制运行
线程的礼让
只是提供一种可能,但是不能保证一定会实现礼让!