Java多线程入门与Thread与Runnable实现详解
需积分: 17 159 浏览量
更新于2024-07-25
1
收藏 642KB PDF 举报
Java多线程总结(一)
在Java编程中,多线程是实现并发处理的关键技术,它允许程序在同一时间执行多个任务,提高了程序的效率和响应性。Java提供了两种主要的方式来创建多线程:继承Thread类和实现Runnable接口。
1. 继承Thread类:
当你选择继承Thread类来创建线程时,你需要遵循以下步骤:
- 创建子类:定义一个新的类并让它继承自Thread类,例如`class Hello extends Thread`。
- 重写`run()`方法:这个方法是线程的主体部分,通常在这里编写执行线程任务的代码。例如,在`hello`类中,`public void run()`里有一个for循环打印字符串。
- 实例化和启动线程:创建类的实例,并通过调用`start()`方法启动线程。这会使得线程进入就绪状态,等待CPU调度。原例中,`h1.start()`和`h2.start()`分别启动两个线程。
问题与修正:
在初始示例中,`run()`方法被直接调用,而不是`start()`。这会导致主线程执行`run()`方法,而不是创建新的线程。正确的做法是将`run()`调用替换为`start()`,如下:
```java
h1.start();
h2.start();
```
这样,每个`hello`对象会创建一个独立的线程,它们会并发执行`run()`中的代码,从而实现了多线程效果。
2. 实现Runnable接口:
另一种创建多线程的方式是让类实现Runnable接口,然后传递给Thread类的构造函数。这样做可以避免Java单继承的限制,且更有利于代码复用。实现Runnable接口的代码结构如下:
```java
class MyClass implements Runnable {
// 实现run()方法
public void run() {
// 线程任务
}
// 其他方法...
}
Thread thread = new Thread(new MyClass());
thread.start();
```
总结:
Java多线程的核心在于创建Thread对象或Runnable对象,并通过`start()`方法启动线程。理解这些基本概念后,你可以进一步学习同步、线程通信(如wait(), notify()等)以及线程池等高级主题,以充分利用Java的并发机制提高程序性能。同时,记住线程安全性和资源管理也是多线程编程中必须关注的重要方面。
点击了解资源详情
点击了解资源详情
点击了解资源详情
112 浏览量
140 浏览量
2021-09-30 上传
2011-01-09 上传
136 浏览量
smallgyy
- 粉丝: 156
- 资源: 22