Thread使用线程池

使用线程池,将实现Runnable接口类的对象作为参数

Executors:线程池创建工厂类

public static ExecutorService newFixedThreadPool(int nThreads):返回线程池对象

ExecutorService:线程池类

Future<?> submit(Runnable task):获取线程池中的某一个线程对象,并执行

@Test
	public void test04() {
		//创建线程池
		ExecutorService service = Executors.newFixedThreadPool(2);
		MyThreadCreate02 myThread = new MyThreadCreate02();
		
		//从线程池中获取线程对象,然后调用MyThreadCreate02中的run()方法
		service.submit(myThread);
		//每调用一次就获取一个线程
		service.submit(myThread);
		
		//关闭线程池
		service.shutdown();
	}

使用线程池,将实现Callable接口类的对象作为参数

Callable接口:与Runnable接口功能相似,用来指定线程的任务。其中的call()方法, 用来返回线程任务执行完毕后的结果,call方法可抛出异常

public class MyCallable implements Callable{

	@Override
	public Object call() throws Exception {
		for(int i = 0;i<50;i++) {
			System.out.println("实现Callable接口"+i);
		}
		return null;
	}
}
@Test
	public void test05() {
		//创建线程池
		ExecutorService service = Executors.newFixedThreadPool(2);
		MyCallable callable = new MyCallable();
		//从线程池中获取线程
		service.submit(callable);
		//关闭线程池
		service.shutdown();
	}
发布了29 篇原创文章 · 获赞 3 · 访问量 870

猜你喜欢

转载自blog.csdn.net/weixin_44616792/article/details/100125163