netty草图笔记

news/2024/5/26 21:12:47/文章来源:https://blog.csdn.net/qq_16992475/article/details/136587160

学一遍根本记不住,那就再学一遍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

public static void test_nettyFuture() {NioEventLoopGroup group = new NioEventLoopGroup();log.info("开始提交任务");Future<String> future = group.next().submit(() -> {log.info("执行异步任务...");try {TimeUnit.SECONDS.sleep(5);} catch (InterruptedException e) {e.printStackTrace();}log.info("异步任务执行完成...");return "ok";});log.info("任务提交结束");future.addListener(new GenericFutureListener<Future<String>>() {@Overridepublic void operationComplete(Future<String> future) throws Exception {String s = (String) future.get();log.info("监听任务完成回调.......{}", s);}});log.info("任务添加监听结束");
}
public static void test_nettyPromise() {NioEventLoopGroup group = new NioEventLoopGroup(10);// 指定谁去通知回调方法, 即哪1个线程去调用operationComplete方法DefaultPromise<String> promise = new DefaultPromise<>(group.next());log.info("提交任务开始");group.next().submit(() -> {try {log.info("开始执行异步任务...");TimeUnit.SECONDS.sleep(5);promise.setSuccess("ojdk");log.info("异步任务还须再执行会儿...");TimeUnit.SECONDS.sleep(5);log.info("异步任务执行完毕...");return "ok";} catch (Exception e) {log.info("异步任务执行发生异常...");promise.setFailure(e);return "ok";}});log.info("提交任务结束");log.info("添加回调开始");promise.addListener(new GenericFutureListener<Future<String>>() {@Overridepublic void operationComplete(Future<String> future) throws Exception {log.info("回调获取到异步结果开始");String result = future.get();log.info("回调获取到异步结果: {}", result);}});log.info("添加回调结束");}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1007150.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webmagic面试准备

1.什么是webmagic WebMagic是一款开源的Java爬虫框架&#xff0c;旨在简化网络爬虫的开发过程&#xff0c;使开发者更加高效便捷的构建网络爬虫程序。它采用了模块化的设计思想&#xff0c;将爬虫的整个生命周期划分为了四个核心组件&#xff1a;Downloader、PageProcessor、Sc…

git提交代码到仓库

git提交代码到仓库 当代码写到一半想提交到新仓库时 平常在练习时&#xff0c;写了一半的代码要提交仓库怎么做 创建一个新仓库&#xff0c;到下面图片时&#xff0c;注意红框内的代码 这种情况是已有仓库的&#xff0c;在执行git命令前 在代码中一次执行 git initgit add…

算法空间复杂度计算

目录 空间复杂度定义 影响空间复杂度的因素 算法在运行过程中临时占用的存储空间讲解 例子 斐波那契数列递归算法的性能分析 二分法&#xff08;递归实现&#xff09;的性能分析 空间复杂度定义 空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大…

电脑干货:6款免费的实用工具,值得收藏

目录 1、HelloWindows 2、Memory Helper 3、MindNode 4、B站视频下载工具 5、wallhaven壁纸 1、HelloWindows HelloWindows是一个纯净Windows系统下载网站&#xff0c;它可以下载到所有Windows系统源文件&#xff0c;比如Windows11、Windows10、win7、XP等&#xff0c;也可…

0基础安装Burpsuit专业版

首先先安装java环境,安装jdk 11的版本 文件中2023版的可以直接点开使用不需要复杂的操作的步骤 资源获取链接&#xff1a; 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;k2qq 其中&#xff1a;1号文件是bp的英文版激活包&#xff0c;-2号是中文版汉化版的激活包…

基于FPGA加速的bird-oid object算法实现

导语 今天继续康奈尔大学FPGA 课程ECE 5760的典型案例分享——基于FPGA加速的bird-oid object算法实现。 &#xff08;更多其他案例请参考网站&#xff1a; Final Projects ECE 5760&#xff09; 1. 项目概述 项目网址 ECE 5760 Final Project 模型说明 Bird-oid object …

Tree Shaking:优化前端项目的利器

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

汽车IVI中控开发入门及进阶(十四):功能安全

前言: 是时候需要来说一下功能安全了,有没有发现现在很多主机厂、Tier1对芯片等BOM物料有些是有功能安全需求的,那么什么是功能安全呢? 车辆中电子元件数量的增加增加了更多故障的可能性,对驾驶员和乘客的风险更高。这种风险的增加导致汽车行业将功能安全标准作为汽车设计…

C#,数值计算,矩阵相乘的斯特拉森(Strassen’s Matrix Multiplication)分治算法与源代码

Volker Strassen 1 矩阵乘法 矩阵乘法是机器学习中最基本的运算之一,对其进行优化是多种优化的关键。通常,将两个大小为N X N的矩阵相乘需要N^3次运算。从那以后,我们在更好、更聪明的矩阵乘法算法方面取得了长足的进步。沃尔克斯特拉森于1969年首次发表了他的算法。这是第…

什么是测试自动化平台?为什么需要测试自动化平台?如何选择平台

什么是测试自动化平台&#xff1f; 测试自动化平台是一种软件工具或框架&#xff0c;可帮助软件开发团队实现测试流程的自动化。它集成了多种功能和工具&#xff0c;使测试人员能够更高效地进行测试计划、用例设计、测试执行和结果分析。 为什么需要测试自动化平台&#xff1f…

微信小程序-day01

文章目录 前言微信小程序介绍 一、为什么要学习微信小程序?二、微信小程序的历史创建开发环境1.注册账号2.获取APPID 三、下载微信开发者工具1.创建微信小程序项目2.填写相关信息3.项目创建成功 四、小程序目录结构项目的主体组成结构 总结 前言 微信小程序介绍 微信小程序&…

3.环境对象this、this指向总结(待完成还有节流防抖待完成)、回调函数、事件

环境对象this 环境对象本质上是一个关键字 this this所在的代码区域不同&#xff0c;代表的含义不同 全局作用域中的this 全局作用域中this代表window对象 局部作用域中的this 在局部作用域中(函数中)this代表window对象 函数直接调用的时候简写了&#xff0c;函数完整写法…

网络编程:网络编程基础

一、网络发展 1.TCP/IP两个协议阶段 TCP/IP协议已分成了两个不同的协议&#xff1a; 用来检测网络传输中差错的传输控制协议TCP 专门负责对不同网络进行2互联的互联网协议IP 2.网络体系结构 OSI体系口诀&#xff1a;物链网输会示用 2.1网络体系结构概念 每一层都有自己独…

【python】anaconda安装过程

【运行环境】Windows11 文章目录 一、anaconda下载二、anaconda安装三、环境变量配置四、测试环境变量是否配置成功五、总结 一、anaconda下载 1、输入网址“https://www.anaconda.com”进入Anaconda官网。 2、找到【Free Download】点击进入&#xff1a; 3、点击对应系统的…

【论文速读】 | DeGPT:通过大语言模型优化反编译器输出

本次分享论文为&#xff1a;DeGPT: Optimizing Decompiler Output with LLM 基本信息 原文作者&#xff1a;Peiwei Hu, Ruigang Liang, Kai Chen 作者单位&#xff1a;中国科学院信息工程研究所&#xff1b;中国科学院大学网络空间安全学院 关键词&#xff1a;反向工程&…

【自然语言处理】NLP入门(五):1、正则表达式与Python中的实现(5):字符串常用方法:对齐方式、大小写转换详解

文章目录 一、前言二、正则表达式与Python中的实现1.字符串构造2. 字符串截取3. 字符串格式化输出4.字符转义符5. 字符串常用函数函数与方法之比较 6. 字符串常用方法1. 对齐方式center()ljust()rjust() 2. 大小写转换lower()upper()capitalize()title()swapcase() 一、前言 本…

ModuleNotFoundError: No module named ‘sklearn.cross_validation‘

一、问题分析 ModuleNotFoundError: No module named sklearn.cross_validation 英文先翻译一遍&#xff0c;模块未找到问题&#xff0c;这里涉及到sklearn这个模块&#xff0c;Sklearn &#xff08;全称 SciKit-Learn&#xff09;&#xff0c;是基于 Python 语言的机器学习工…

mysql如何开启手动提交事务

在mysql中&#xff0c;有一个变量autocommit&#xff0c;表示自动提交&#xff0c;默认为1&#xff0c;表示开启自动提交。通过以下命令查询 select autocommit;当autocommit为1时&#xff0c;任何一条sql语句都是一个事务&#xff0c;执行完由mysql自动提交。如果想自己决定什…

鸿蒙实战开发学习:【HiView插件开发】

概述 Hiview是一个跨平台的终端设备维测服务集&#xff0c;其中是由插件管理平台和插件实现的各自功能构成整套系统。 本文描述了hiview插件开发的全部流程。 插件的概念 整节部分包括了插件的概念&#xff0c;事件源的概念&#xff0c;流水线的概念等基本概念 插件的定义 …

【SpringCloud微服务实战01】Eureka 注册中心

前言 在 Eureka 架构中&#xff0c;微服务角色有两类&#xff1a; EurekaServer &#xff1a;服务端&#xff0c;注册中心 记录服务信息 心跳监控 EurekaClient &#xff1a;客户端 Provider &#xff1a;服务提供者&#xff0c;例如案例中的 user-service …