Java函数创建新的线程的方法
Java是一种多线程编程语言,支持在程序中同时进行多条线程运行,提升程序执行效率。下面介绍Java函数创建新的线程的方法。
Java中创建线程的方式有两种,一种是继承 Thread 类,另一种是实现 Runnable 接口。继承 Thread 类方式如下:
public class ThreadDemo extends Thread {
public void run() {
System.out.println("Thread running...");
}
public static void main(String[] args) {
ThreadDemo td = new ThreadDemo();
td.start();
}
}
代码中定义了一个类 ThreadDemo,继承了 Thread 类,重写了 run() 方法。在主程序中,先创建 ThreadDemo 的实例 td,然后通过调用实例的 start() 方法启动线程。
以上代码的运行结果为:
Thread running...
实现 Runnable 接口方式如下:
public class ThreadDemo2 implements Runnable {
public void run() {
System.out.println("Thread running...");
}
public static void main(String[] args) {
ThreadDemo2 td = new ThreadDemo2();
Thread t = new Thread(td);
t.start();
}
}
代码中定义了一个类 ThreadDemo2,实现了 Runnable 接口,并重写了 run() 方法。在主程序中,先创建 ThreadDemo2 的实例 td,然后创建一个 Thread 对象 t,并将 td 对象传入 Thread 对象的构造方法中。最后调用 start() 方法启动线程。
以上代码的运行结果为:
Thread running...
以上两种方式的区别在于,继承 Thread 类的方式直接重写 Thread 类的 run() 方法,使用起来较为简单;而实现 Runnable 接口方式则需要自己定义一个实现了 run() 方法的类,并将其传入 Thread 对象中进行创建。
在某些情况下,我们需要创建一个匿名的线程,可以使用以下方式:
Thread t = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread running...");
}
});
t.start();
以上代码中,我们使用了一个匿名的 Runnable 类,并重写了 run() 方法,然后将其传入 Thread 对象中进行创建。
Java 中创建线程还有一种方式是使用 Executor 框架,使用该框架可以线程的开销控制更精细,代码如下:
Executor executor = Executors.newFixedThreadPool(10);
for (int i = 0; i < 100; i++) {
executor.execute(new Runnable() {
@Override
public void run() {
System.out.println("Thread running...");
}
});
}
以上代码中,我们首先通过 Executors.newFixedThreadPool(10) 创建了一个线程池,最大线程数为 10。然后通过循环调用 executor.execute() 方法将需要运行的任务提交到线程池中执行。
总结:
Java 中创建线程的方式有两种,一种是继承 Thread 类,另一种是实现 Runnable 接口。使用线程池也可以更加精细控制线程的开销。在实际开发中,要根据具体的需求选择不同的方式来创建线程。
