笔记
- 3. 进程:在一个时间段内只能完成一件事情。
A B,只能做一件事情
线程:在进程基础上划分,之后在同一个时间段内可以比传统进程完成的功能更多。
A B,能多件事情
张三在公司上班,张三原本的业务是做打字员 打字一个工作即可。 == 进程
张三业务扩展。张三即可以做打字员,又可以做程序开发人员,也同时兼顾了卫生管理员 == 线程
CPU 只有一个,是指在同一个时间段内可以完成多个程序,但在同一个时间点内,只能有一个程序
工作。
E-Mail:mldnqa@163.com
- 6. java.lang 此包为 JAVA 程序默认导入的包。
一个类只要继承了 Thread 类,则表示此类就实现了多线程。
如果在程序中直接去调用 run 方法,实际上只是类.方法的调用,而没有启动操作系统的支持。
如果要执行一个线程,则要调用:public void start()方法
通过 start() 调用的是子类中 run()方法。
此时的程序是交替运行的,不是像之前那样去调用 run()方法进行的顺序执行。
问题?
一个类只能通过继承 Thread 类完成多线程,本身会有一个程序的局限 —— Java 只支持单继承,如
果这个类需要再同时继承另外一个类的时候,则使用 Thread 类会发现无法做到。
在 JDK 中为用户提供了一个 Runnable 接口,实现此接口也可以实现多线程。
之前的程序继承的是 Thread 类,在 Thread 类提供了专门用于启动线程的操作 start()方法。
E-Mail:mldnqa@163.com
- 7. 通过查找 JDK 文档,可以发现在 Thread 类中有如下方法;
public Thread(Runnable target)
既然 Runnable 接口与 Thread 类都可以实现多线程,那么该选谁?
· 实现接口,解决单继承局限。
Runnable 接口与 Thread 类之间到底有什么关系?
特点:继承 Thread 多个线程之间不能实现资源的共享,而实现了 Runnable 接口之后可以实现多个线程之
间资源的共享。
举例:火车票 售票点,100 张票
E-Mail:mldnqa@163.com