爪哇 线程示例
线
can be called as light weight process
. 爪哇 supports multithreading , so it allows your application to perform two or more task concurrently. Multithreading can be of advantage specially when now a days, machine has multiple CPUs, so multiple tasks can be executed concurrently.可以通过两种方式创建线程。
- 通过扩展Thread类
- 通过实现Runnable接口
通过扩展Thread类:
创建一个类FirstThread.java,如下所示。
1 2 3 4 5 6 7 8 9 10 11 12 |
包 组织 . Arpit . 爪哇 2blog . 线 ; 上市 类 第一线程 延伸 线 { 上市 虚空 跑 () { 系统 . 出 . 打印 (“线程正在运行”); } } |
创建名为ThreadExampleMain.java的主类
1 2 3 4 5 6 7 8 9 10 11 12 13 |
包 组织 . Arpit . 爪哇 2blog . 线 ; 上市 类 线 ExampleMain { 上市 静态的 虚空 主要 ( 串 args []) { 第一线程 英尺 = 新 第一线程 (); 英尺 . 开始 (); } } |
通过实现Runnable接口:
另一种方法是,您需要实现Runnable接口并重写public 虚空 跑 ()方法。您需要实例化类,将创建的对象传递给Thread构造函数,并在线程对象上调用start方法以将线程作为不同的线程执行。
如下创建一个类FirthThread.java。
1 2 3 4 5 6 7 8 9 10 11 12 |
包 组织 . Arpit . 爪哇 2blog . 线 ; 上市 类 第一线程 实施 可运行 { 上市 虚空 跑 () { 系统 . 出 . 打印 (“线程正在运行”); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
包 组织 . Arpit . 爪哇 2blog . 线 ; 上市 类 线 ExampleMain { 上市 静态的 虚空 主要 ( 串 args []) { 第一线程 英尺 = 新 第一线程 (); 线 t= 新 线 ( 英尺 ); t. 开始 (); } } |
线程vs可运行哪个更好?
- 爪哇 不支持多重继承,因此如果您扩展Thread类并且不能扩展大多数情况下所需的任何其他类。
- 可运行 接口表示一项任务,可以在Thread类或Executors的帮助下执行。
- 使用继承时,是因为要扩展父级的某些属性,修改或改善类的行为。但是,如果要扩展线程类只是为了创建线程,则可能不建议将其用于面向对象编程。