java线程池

首先来认识几个关键字

Executor是一个接口,需要实现其中的execute(Runnable command)方法,需要将一个实现Runnable接口的类传进去

可以实现一个类继承runable方法,在execute()方法中重新new Thread(Runnable runable)放进去然后调用.start()方法



package com.mo;
/**
 * Executor是一个接口,需要实现其中的execute(Runnable command)方法,需要将一个实现Runnable接口的类传进去
 * 可以实现一个类继承runable方法,在execute()方法中重新new Thread(Runnable runable)放进去然后调用.start()方法
 */
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;

public class E implements Executor {

	public static void main(String[] args) {
		E e = new E();
		E1 e1 = new E1();
		e.execute(e1);
	}
	
	
	public void execute(Runnable command) {
		new Thread(command).start();//这样是重新启动一个线程来调用
//		command.run();//如果是这样就是方法的调用了,调用该方法的线程还是main线程
	}

}
class E1 implements Runnable {
	public void run() {
		System.out.println("aaaaaaaaa");
		System.out.println(Thread.currentThread().getName());
	}
}


class E2 implements Executor {
	public static void main(String[] args) {
		E2 e2 = new E2();
		E3 e3 = new E3();
		e2.execute(e3);
	}
	public void execute(Runnable command) {
		new Thread(command).start();//这里是新建一个线程
		//command.run();//这样是调用run方法,不是新建一个新的线程
	}
}
class E3 implements Runnable {
	public void run() {
		System.out.println(Thread.currentThread().getName());
	}
}



//Callable  与  Runnable 基本是一样的,不同的是Callable有返回值,而Runnabel没有返回值 


1.








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值