跳到主要内容

Java并发编程学习一:线程基础

一、线程的创建

线程是并发编程中基础的基础,只有先了解如何创建线程,才能进一步学习并发相关的知识。

常见的实现线程的方法有以下几种:

1. Runnable接口

可以通过实现Runnable接口,并重写run()方法,之后将实现Runnable接口的类传入Thread中即可创建线程。

public class RunnableThread implements Runnable {

@Override
public void run() {

System.out.println('用实现Runnable接口实现线程');
}
}
2. Thread类

继承Thread类,重写其中的run()方法创建线程:

public class ExtendsThread extends Thread {

@Override
public void run() {

System.out.println('用Thread类实现线程');
}
}
3. 线程池

通过线程池,可以指定线程数量,由线程池创建线程。

对于线程池而言,本质上是通过线程工厂创建线程的,默认采用 DefaultThreadFactory ,它会给线程池创建的线程设置一些默认值,比如:线程的名字、是否是守护线程,以及线程的优先级等。

/** 
* 描述: 用固定线程数的线程池执行10000个任务
*/
public class ThreadPoolDemo {

public static void main(String[] args) {

ExecutorService service = Executors.newFixedThreadPool(5);
for (int i = 0; i < 10000; i++) {

service.execute(new Task());
}
System.out.println(Thread.currentThread().getName());
}

static class Task implements Runnable {

public void run() {

System.out.println("Thread Name: " + Thread.currentThread().getName());
}
}
}