1、实现 Thread类
此方法需要实现Thread的run()方法
package com.demo;
public class ExtendsThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
}
在主方法里调用start()方法启动线程
package com.demo;
public class ExcutorClass {
public static void main(String[] args) {
ExtendsThread extendsThread = new ExtendsThread();
extendsThread.start();
}
}
执行结果:
Thread-0:0
Thread-0:1
Thread-0:2
Thread-0:3
Thread-0:4
2、实现Runnable接口
通过实现Runnable接口,重写run()方法
package com.demo;
public class ImplementsRunnable implements Runnable{
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName()+":"+i);
}
}
}
在主方法里启动你的线程
package com.demo;
public class ExcutorClass {
public static void main(String[] args) {
Runnable runnable = new ImplementsRunnable();
Thread thread = new Thread(runnable);
thread.start();
}
}
结果:
Thread-0:0
Thread-0:1
Thread-0:2
Thread-0:3
Thread-0:4
3、通过线程池的方式来创建线程
package com.demo;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ExcutorClass {
public static void main(String[] args) {
ExecutorService threadPool = Executors.newFixedThreadPool(3);
for (int i = 0; i < 10; i++) {
ImplementsRunnable implementsRunnable = new ImplementsRunnable();
threadPool.execute(implementsRunnable);
}
}
}
执行结果:
pool-1-thread-3:0
pool-1-thread-1:0
pool-1-thread-2:0
pool-1-thread-1:1
pool-1-thread-3:1
pool-1-thread-2:1
pool-1-thread-1:2
pool-1-thread-3:2
pool-1-thread-2:2
pool-1-thread-1:3
pool-1-thread-2:3
分享到:
相关推荐
Java使用Callable和Future创建线程操作示例主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作技巧与注意事项。 首先,Java 5开始,Java提供了...
下面将详细讲解如何利用Java创建一个TCP服务器,使用线程来监听端口并处理连接。 一、TCP服务器基础 TCP是一种面向连接的、可靠的传输协议,它保证了数据包在传输过程中的顺序和完整性。在Java中,我们可以使用`...
在Java编程语言中,创建线程是实现并发执行任务的关键步骤。Java提供了两种主要的方法来创建线程,分别是直接继承自`Thread`类和实现`Runnable`接口。这两种方法各有其特点和适用场景。 1. **继承Thread类**: 当...
首先,Java提供了两种主要的方式来创建线程: 1. **继承Thread类**:创建一个新的类,该类继承自`Thread`类,并重写`run()`方法。`run()`方法包含线程要执行的任务。然后,创建该类的实例并调用`start()`方法来启动...
在Java中,可以通过两种方式创建线程:继承`Thread`类或实现`Runnable`接口。继承`Thread`类时,重写`run()`方法,然后通过`start()`方法启动线程。实现`Runnable`接口则需要创建一个实现了`run()`方法的类,并将...
在Java中,创建线程有几种常见的方式。第一种是通过继承Thread类并重写run方法来定义新的线程类。当创建此类的对象时,实际上就创建了一个新的线程。要启动线程,需要调用线程对象的start方法,这将让线程进入就绪...
java多线程PPT 多线程基本概念 创建线程的方式 线程的挂起与唤醒 多线程问题
2. **创建线程的方式**: - 继承`Thread`类:创建一个新的类,继承自`Thread`,重写`run()`方法,然后创建该类的实例并调用`start()`方法启动线程。 - 实现`Runnable`接口:创建一个新的类,实现`Runnable`接口,...
Java+创建线程的例子源码整理
在Java中,实现多线程有两种主要方式:继承Thread类和实现Runnable接口。 1. 继承Thread类: 当我们创建一个新的类,让它继承Thread类时,可以通过重写`run()`方法来定义线程执行的任务。然后创建该类的对象,并...
首先,Java中创建线程主要有两种方法。一种是通过继承Thread类,重写其run()方法,然后实例化并调用start()方法启动线程。例如: ```java class MyThread extends Thread { @Override public void run() { // ...
Java提供了多种创建线程的方式,其中最常见的是通过继承`Thread`类和实现`Runnable`接口这两种方法。下面将详细阐述这两种创建线程的方法及其区别。 ### 一、通过继承`Thread`类创建线程 当一个类继承了`Thread`类...
在Java中,实现多线程有两种主要方式:通过实现Runnable接口或者继承Thread类。本案例将深入探讨Java多线程中的关键知识点,包括线程同步、线程通信和线程阻塞。 线程同步是为了防止多个线程同时访问共享资源,导致...
由于数据库连接是一种昂贵的资源,应避免在每个线程中重复创建连接,通常采用连接池的方式进行管理。 3. **数据插入操作**:代码示例展示了如何使用预编译语句(PreparedStatement)执行数据插入操作。预编译语句...
创建线程的一种方式是创建Thread类的子类,并重写run()方法,指定线程要执行的任务。当线程开始运行,它将执行子类中的run()方法。 9.3 使用Runnable接口: 另一种创建线程的方法是实现Runnable接口,创建一个实现...
在Java中,创建线程主要有两种方式:继承Thread类和实现Runnable接口。在提供的实例中,我们可能会看到这两种方式的运用。 1. 继承Thread类:通过创建新的Thread子类并重写其run()方法,然后创建该子类的实例并调用...
2. Condition接口:配合Lock使用,提供更灵活的线程间通信方式。 五、线程池 1. Executor框架:Java 5引入的ExecutorService接口,它是线程池的核心,ThreadPoolExecutor是其具体实现。 2. ThreadPoolExecutor参数...
在Java中,可以通过继承`Thread`类或者实现`Runnable`接口来创建线程。 ##### 3. 多线程分页查询方案设计 针对数据量较大的场景,本文介绍的多线程分页查询方案主要包含以下几个步骤: - **步骤1:计算总记录数**...
在Java中,我们可以使用`Thread`类或者`Runnable`接口来创建线程。然而,为了更好地管理和控制线程,Java并发包提供了如`ExecutorService`、`Future`、`Callable`等高级接口和类,它们简化了多线程编程,并提供了更...
Java提供了两种创建线程的方式:继承`Thread`类和实现`Runnable`接口。在`lec22`中,可能会包含这两个方法的示例。继承`Thread`类时,重写`run()`方法,并直接通过`start()`启动新线程。而实现`Runnable`接口则需要...