一、基本概念
干活:就是执行类中的方法
线程类使用的相关技术:接口多态(多种实现方法)
1》一个接口
2》多种实现方法
实现Runnable的所有类:是同一类型,全部叫线程(也是对象),利用这个关系,可以实现线程实现类之间相互连接。
1、看了大多数线程的文章,以为线程就是去完成任务(如取数据啊,构建登陆页)
2、错,其实线程本身来说,什么也干不了,它只是去指挥(drives)别人去完成任务,所以就叫驱动线程。
1》 所以Thread类怎么和别的对象相连,目前来看,还是在类成员定义一个实例变量,和任务对象相连。
/* What will be run. */
private Runnable target; :这就是线程类里面的对象实例变量
2》在建立新的驱动线程时赋值干活线程,这样一个驱动线程对象和干活线程对象连接在一起,如果你让驱动线程驱动干活线程干活,其实驱动线程调用别人去干活。
new Thread(new LiftOff())
所以只要有驱动线程的地方,一定要带上干活对象。
3、线程类: 1》Thread implements Runnable 实现了Runnable的接口
2》哪么不管是哪个类 implements Runnable
所有的Runnable 接口实现类是同一类型:Runnable。
二、为什干活线程和驱动线程分离
1》 从干活者角度考虑:我只负责干活,拿钱,其它一类不管。
但是驱动线程必须要考虑:1、所有干活线程的优先级
2、驱动线程在Moniter 大楼待着。
2》是以low-level pthread 为基础,(这个不需要了解)
POSIX线程(POSIX threads),简称Pthreads