创建多线程的第二种方法实现Callable接口
1.实现Callable接口,重写call方法,有返回值
2.通过实现Callable接口创建的线程只能在线程池中使用.
3.返回值就是run方法返回的对象
4.通过future.get()可以获取到返回的内容
实现Callable接口
/**
*
* @author Administrator
*实现callable接口,重写call方法,存在返回值
*/
public class CallableTest implements Callable<String>{ @Override
public String call() throws Exception { return "ccc";
} }
创建线程池,开启线程
/**
*
* @author Administrator
* 通过实现Callable方法创建线程
*/
public class ThreadCallable { public static void main(String[] args) {
try {
//1.创建线程池
ExecutorService pool = Executors.newFixedThreadPool(2);
//2.开启线程
Future<String> future = pool.submit(new CallableTest());
//3.获取线程的内容
System.out.println(future.get());
//4.关闭线程池
pool.shutdown();
} catch (Exception e) {
// TODO: handle exception
} }
}
创建多线程的第二种方法实现Callable接口的更多相关文章
- 创建线程的第二种方式------实现Runnable接口的方式
package cn.itcast.demo16.Demo07.Runnable;/** * @author newcityman * @date 2019/7/22 - 23:17 */public ...
- Python并发编程之创建多线程的几种方法(二)
大家好,并发编程 进入第二篇. 今天的内容会比较基础,主要是为了让新手也能无障碍地阅读,所以还是要再巩固下基础.学完了基础,你们也就能很顺畅地跟着我的思路理解以后的文章. 本文目录 学会使用函数创建多 ...
- Java创建多线程的三种方法
Java多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用ExecutorService.Callable.Future实现有返回结果的多线程.其中前两种方式线程执行完后都没 ...
- Java 创建多线程的三种方法
1. 继承Thread类2. 实现Runnable接口3. 匿名类的方式 注: 启动线程是start()方法,run()并不能启动一个新的线程
- 进程和创建线程的两种方法(threading.Thread)
进程 如QQ 要以一个整体的形式暴露给操作系统管理,里面包含对各种资源的调用,内存的管理, 网络接口的调用等,进程就是各种资源管理的集合 线程:是操作系统最小的调度单位,是一串指令的结合 进程 要操作 ...
- Java中创建数组的几种方法
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...
- 27 多线程(一)——创建进程的三种方法、线程锁(同步synchornized与lock)
线程的流程 线程的创建 有三种方法,重点掌握前两种: 继承Thread类 实现Runnable接口(推荐使用:避免单继承的局限性) 实现Callable接口 根据java的思想,要少用继承,多用实现. ...
- 创建多线程的第一种方式——创建Thread子类和重写run方法
创建多线程的第一种方式——创建Thread子类和重写run方法: 第二种方式——实现Runnable接口,实现类传参给父类Thread类构造方法创建线程: 第一种方式创建Thread子类和重写run方 ...
- 《Java多线程面试题》系列-创建线程的三种方法及其区别
1. 创建线程的三种方法及其区别 1.1 继承Thread类 首先,定义Thread类的子类并重写run()方法: package com.zwwhnly.springbootaction.javab ...
随机推荐
- Centos7.1环境下搭建BugFree
环境准备: 系统 配置 IP Centos7.1 1核2G+60GB硬盘 10.10.28.204 1. 安装apache yum install httpd 2. 安装mysql yum inst ...
- 免费的文件比较工具和beyondcomare和source insight的比较工具
Linux下,meld就够了,命令行用用diff也行,kdiff3也不错. 参考 http://www.cnblogs.com/itech/archive/2009/08/13/1545344.htm ...
- cocos2d-x 贡献一个oss上传脚本
平常写前端项目和H5游戏时特别频繁的一个操作就是上传到oss上,特别浪费时间.所以用ali-oss写了一个脚本.配置属性后直接npm run oss就能上传到oss上了.再也不需要手动操作.现在是脚本 ...
- windows下cmd无法使用telnet命令解决方法 (原)
telnet不是内部或者外部命令,也不是可运行程序-----解决办法: (win7为例) 控制面板 --- > 程序(小图标下直接到[程序和功能]) --- >程序和功能 --- > ...
- Java基础(认识Java)
我们要学习Java那么就要首先认识一下Java: Java是什么 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James ...
- 一个不错的git资源站点
https://backlog.com/git-tutorial/cn/stepup/stepup2_8.html
- git之概念图
1.git四大区. . 2. 3. 4.
- VSCode 打开文件tab键空格数量异常问题
[1]现象与原因 现象:用Notepad++打开文件,tab键占4个空格键.但是,用VSCode打开,tab键缺变成了3个空格键. 原因:因为VSCode默认启用了根据文件类型自动设置tabsize的 ...
- c#阿里云服务器发送邮件
public static void SendMailUse() { string host = "smtp.lotusest.com";// 邮件服务器smtp.163.com表 ...
- 二进制包安装MYSQL——
yum install libaio -y #安装mysql依赖包tar zxf mysql-5.5.59-linux-glibc2.12-x86_64.tar.gz mv mysql-5.5.59- ...