好友
阅读权限10
听众
最后登录1970-1-1
|
1.实现多线程
1.1简单了解多线程【理解】
是指从软件或者硬件上实现多个线程并发执行的技术。
具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。
1.2并发和并行【理解】
1.3进程和线程【理解】
-
进程:是正在运行的程序
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位
动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的
并发性:任何进程都可以同其他进程一起并发执行
-
线程:是进程中的单个顺序控制流,是一条执行路径
单线程:一个进程如果只有一条执行路径,则称为单线程程序
多线程:一个进程如果有多条执行路径,则称为多线程程序
1.4实现多线程方式一:继承Thread类【应用】【重点】
-
方法介绍
方法名 |
说明 |
void run() |
在线程开启后,此方法将被调用执行 |
void start() |
使此线程开始执行,Java虚拟机会调用run方法() |
-
实现步骤
- 定义一个类MyThread继承Thread类
- 在MyThread类中重写run()方法
- 创建MyThread类的对象
- 启动线程
1.5实现多线程方式二:实现Runnable接口【应用】【重点】
-
Thread构造方法
方法名 |
说明 |
Thread(Runnable target) |
分配一个新的Thread对象 |
Thread(Runnable target, String name) |
分配一个新的Thread对象 |
-
实现步骤
- 定义一个类MyRunnable实现Runnable接口
- 在MyRunnable类中重写run()方法
- 创建MyRunnable类的对象
- 创建Thread类的对象,把MyRunnable对象作为构造方法的参数
- 启动线程
1.6实现多线程方式三: 实现Callable接口【应用】【重点】
-
方法介绍
方法名 |
说明 |
V call() |
计算结果,如果无法计算结果,则抛出一个异常 |
FutureTask(Callable<V> callable) |
创建一个 FutureTask,一旦运行就执行给定的 Callable |
V get() |
如有必要,等待计算完成,然后获取其结果 |
-
实现步骤
- 定义一个类MyCallable实现Callable接口
- 在MyCallable类中重写call()方法
- 创建MyCallable类的对象
- 创建Future的实现类FutureTask对象,把MyCallable对象作为构造方法的参数
- 创建Thread类的对象,把FutureTask对象作为构造方法的参数
- 启动线程
- 再调用get方法,就可以获取线程结束之后的结果。
1.7设置和获取线程名称【应用】
-
方法介绍
方法名 |
说明 |
void setName(String name) |
将此线程的名称更改为等于参数name |
String getName() |
返回此线程的名称 |
Thread currentThread() |
返回对当前正在执行的线程对象的引用 |
### 1.8线程休眠【应用】
-
相关方法
方法名 |
说明 |
static void sleep(long millis) |
使当前正在执行的线程停留(暂停执行)指定的毫秒数 |
1.9线程优先级【应用】
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|