没有合适的资源?快使用搜索试试~ 我知道了~
1.并发编程之线程池基础 1.1 线程与进程区别 进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。 线程:单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位。 一个线程只能属于一个进程,但是一个进程可以拥有多个线程。多线程处理就是允许一个进程中在同一时刻执行多个任务。 1.2 多线程创建方式 1.2.1.继承Thread类 下面展示一些 内联代码片。 /** * 使用继承Thread 方式创建线程池 * @作者 陈晨辉 * @创建日期 2020/3/18 15:
资源推荐
资源详情
资源评论
多线程学习篇之线程池基础多线程学习篇之线程池基础
1.并发编程之线程池基础并发编程之线程池基础
1.1 线程与进程区别线程与进程区别
进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。
线程:单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位。
一个线程只能属于一个进程,但是一个进程可以拥有多个线程。多线程处理就是允许一个进程中在同一时刻执行多个任务。
1.2 多线程创建方式多线程创建方式
1.2.1.继承继承Thread类类
下面展示一些 内联代码片。
/**
* 使用继承Thread 方式创建线程池
* @作者 陈晨辉
* @创建日期 2020/3/18 15:31
**/
public class Demo1 {
public static void main(String[] args) {
// 创建线程对象
MyThread myThread = new MyThread();
// 启动线程
myThread.start();
}
// 继承Thread类 实现run方法
static class MyThread extends Thread{
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
System.out.println("输出打印"+i);
}
}
}
}
1.2.2.实现实现Runnable接口接口
下面展示一些 内联代码片。
/**
* 使用实现Runnable接口方式
* 创建线程
* @作者 陈晨辉
* @创建日期 2020/3/18 15:31
**/
public class Dmeo2{
public static void main(String[] args) {
// 创建线程对象 传入要执行的任务
Thread thread = new Thread(()->{
// do something
});
// 调用线程.start方法
thread.start();
}
// 实现Runnable接口 实现run方法
static class MyRunnable implements Runnable {
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
System.out.println("输出:"+i);
}
}
}
}
使用匿名内部类使用匿名内部类
下面展示一些 内联代码片。
public static void main(String[] args) {
//使用匿名内部类方式创建Runnable实例
Thread t1 = new Thread(new Runnable(){
@Override
public void run() {
for (int i = 0; i {
for (int i = 0; i < 1000; i++) {
System.out.println("输出"+i);
}
});
t2.start();
}
1.2.3.实现实现Callable接口接口
下面展示一些 内联代码片。
/**
* 实现Callable的接口
* 实现一个带返回值的任务
* @作者 陈晨辉
* @创建日期 2020/3/18 15:31
**/
public class Demo3{
public static void main(String[] args) {
//FutureTask包装我们的任务,FutureTask可以用于获取执行结果
FutureTask ft = new FutureTask(new MyCallable());
//创建线程执行线程任务
Thread thread = new Thread(ft);
thread.start();
try {
//得到线程的执行结果
Integer num = ft.get();
System.out.println("得到线程处理结果:" + num);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
资源评论
weixin_38654915
- 粉丝: 7
- 资源: 995
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- dbeaver-ce-24.3.1-x86-64-setup.exe
- 国际象棋桌子检测6-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- 某平台广告投入分析与销售预测
- 连接ESP32手表来做验证20241223-140953.pcapng
- 小偏差线性化模型,航空发动机线性化,非线性系统线性化,求解线性系统具体参数,最小二乘拟合 MATLAB Simulink 航空发动机,非线性,线性,非线性系统,线性系统,最小二乘,拟合,小偏差,系统辨
- 好用的Linux终端管理工具,支持自定义多行脚本命令,密码保存、断链续接,SFTP等功能
- Qt源码ModbusTCP 主机客户端通信程序 基于QT5 QWidget, 实现ModbusTCP 主机客户端通信,支持以下功能: 1、支持断线重连 2、通过INI文件配置自定义服务器I
- QGroundControl-installer.exe
- 台球检测40-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 颜色拾取器 for Windows
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功