继承Thread类
java
public class MyThread extends Thread {
static int count = 0;
@Override
public void run() {
System.out.println(count++);
}
public static void main(String[] args) {
MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
myThread1.start();
myThread2.start();
}
}
实现runnable接口
java
public class MyRunnable implements Runnable{
static int count = 0;
public void run() {
System.out.println(count++);
}
public static void main(String[] args) {
MyRunnable myRunnable = new MyRunnable();
Thread myRunnable1 = new Thread(myRunnable);
Thread myRunnable2 = new Thread(myRunnable);
myRunnable1.start();
myRunnable2.start();
}
}
实现callable接口
arduino
public class MyCallable implements Callable<String> {
static int count;
public String call() throws Exception {
System.out.println("count:"+count++);
return String.valueOf(count);
}
public static void main(String[] args) throws ExecutionException, InterruptedException {
MyCallable myCallable = new MyCallable();
FutureTask<String> stringFutureTask1 = new FutureTask<String>(myCallable);
FutureTask<String> stringFutureTask2 = new FutureTask<String>(myCallable);
Thread thread1 = new Thread(stringFutureTask1);
Thread thread2 = new Thread(stringFutureTask2);
thread1.start();
System.out.println(stringFutureTask1.get());
thread2.start();
System.out.println(stringFutureTask2.get());
}
}
线程池创建
typescript
public class MyExecutors implements Runnable{
static int count = 0;
public void run() {
System.out.println(count++);
}
public static void main(String[] args) {
ExecutorService pool = Executors.newFixedThreadPool(3);
pool.submit(new MyExecutors());
pool.submit(new MyExecutors());
pool.shutdown();
}
}