当前位置: 首页 > news >正文

学习笔记 --C#基础其他知识点(持续更新)

C#中的同步和异步《一》
以下理解借鉴博客:借鉴博客地址1

异步编程(Asynchronous)

允许任务在后台执行,而不会阻塞调用线程。C#使用async和await关键字

async Task AsynchronousMethod()
{// 等待异步操作完成await Task.Delay(1000); // 模拟耗时操作Console.WriteLine("AsynchronousMethod 完成");
}

串行:

任务按照顺序一个接一个地执行,这在单线程程序中是自然的

// 同步串行
void Task1()
{Console.WriteLine("Task 1 is running");
}void Task2()
{Console.WriteLine("Task 2 is running");
}Task1();
Task2();// 异步串行
async Task Task1Async()
{Console.WriteLine("Task 1 is running");await Task.Delay(1000); // 模拟异步操作
}async Task Task2Async()
{Console.WriteLine("Task 2 is running");await Task.Delay(1000); // 模拟异步操作
}async Task MainAsync()
{await Task1Async();await Task2Async();
}MainAsync().GetAwaiter().GetResult(); // 运行异步方法

并行:(Parallel)

允许多个任务同时执行,通常利用多核处理器的能力。在C#中,Parallel.For、Parallel.ForEach和Parallel.Invoke等API用于并行执行。

using System.Threading.Tasks;void Task1()
{Console.WriteLine("Task 1 is running");
}void Task2()
{Console.WriteLine("Task 2 is running");
}Parallel.Invoke(() => Task1(), () => Task2());
Parallel.For(0, 10, i =>
{Console.WriteLine($"并行任务 {i} 开始");Thread.Sleep(100); // 模拟耗时操作Console.WriteLine($"并行任务 {i} 完成");
});

并发(Concurrency):

并发是并行和串行在更广泛意义上的结合。它指的是多个任务同时或几乎同时执行,但不一定在物理上并行


using System.Threading;void Task1()
{Console.WriteLine("Task 1 is running");
}void Task2()
{Console.WriteLine("Task 2 is running");
}Thread t1 = new Thread(new ThreadStart(Task1));
Thread t2 = new Thread(new ThreadStart(Task2));t1.Start();
t2.Start();t1.Join();
t2.Join();

死锁(Deadlock)

当两个或多个线程相互等待对方释放资源时,就会发生死锁

避免死锁的策略:1.确保所有线程以相同的顺序获取资源。2.使用锁超时机制。3.避免嵌套锁。4.使用更高级的并发控制机制,如信号量、事件或Concurrent集合。


以下理解借鉴博客:借鉴博客2

通过某种机制,让程序在等着IO的过程中,继续做点别的事,等IO的过程完成了,再回来处理IO的内容 --异步编程模型

C#中,异步编程,一个核心是指Task和Task对象,而两个关键字,就是async和await。
⭕在遇到await关键字之后,系统做了以下工作:
异步方法将被挂起
将控制权返回给调用者
使用线程池中的线程(而非额外创建新的线程)来计算await表达式的结果,所以await不会造成程序的阻塞
完成对await表达式的计算之后,若await表达式后面还有代码则由执行await表达式的线程(不是调用方所在的线程)继续执行这些代码

⭕定义一个异步方法应满足以下几点:
使用async关键字来修饰方法
在异步方法中使用await关键字(不使用编译器会给出警告但不报错),否则异步方法会以同步方式执行
尽量不使用void作为返回类型,若希望异步方法返回void类型,请使用Task
异步方法名称以Async结尾
异步方法中不能声明使用ref或out关键字修饰的变量

模式:

//定义
async Task function()
{/* your code here */
}
//调用
await function();

⭕问题点:async和await的配对
在异步编程的规范中,async修饰的方法,仅仅表示这个方法在内部有可能采用异步的方式执行,CPU在执行这个方法时,会放到一个新的线程中执行。

那这个方法,最终是否采用异步执行,不决定于是否用await方式调用这个方法,而决定于这个方法内部,是否有await方式的调用。

await是什么意思?

提及Wait:Wait就是等待,异步有一个核心,是Task。而Task有一个方法,就是Wait,写法是Task.Wait()。所以,很多人把这个Wait和await混为一谈,这是错的。
C#里,Task不是专为异步准备的,它表达的是一个线程,是工作在线程池里的一个线程。异步是线程的一种应用,多线程也是线程的一种应用。Wait,以及Status、IsCanceled、IsCompleted、IsFaulted等等,是给多线程准备的方法,跟异步没有半毛钱关系。Task.Wait()是一个同步方法,用于多线程中阻塞等待。

在异步中,await表达的意思是:当前线程/方法中,await引导的方法出结果前,跳出当前线程/方法,从调用当前线程/方法的位置,去执行其它可能执行的线程/方法,并在引导的方法出结果后,把运行点拉回到当前位置继续执行;直到遇到下一个await,或线程/方法完成返回,跳回去刚才外部最后执行的位置继续执行。

await在控制异步的执行次序。那为什么要用等待这么个词呢?是因为await确实有等待结果的含义
await的第二层意思:等待拿到结果:我们需要使用func1方法的返回值。我们可以提前去执行这个方法,而不急于拿到方法的返回值,直到我们需要使用时,再用await去获取到这个返回值去使用。

这才是异步对于我们真正的用处。对于一些耗时的IO或类似的操作,我们可以提前调用,让程序可以利用执行过程中的空闲时间来完成这个操作。等到我们需要这个操作的结果用于后续的执行时,我们await这个结果。这时候,如果await的方法已经执行完成,那我们可以马上得到结果;如果没有完成,则程序将继续执行这个方法直到得到结果。

static async Task Main(string[] args)
{Console.WriteLine("Async proccess - start");Console.WriteLine("Async proccess - enter Func1");Task<int> f = func1();Console.WriteLine("Async proccess - out Func1");Console.WriteLine("Async proccess - done");int result = await f;Console.WriteLine("Main proccess - done");Console.ReadKey();
}private static async Task<int> func1()
{Console.WriteLine("Func1 proccess - start");await Task.Run(() => Thread.Sleep(1000));Console.WriteLine("Func1 proccess - end");return 5;
}

同步方法中调用异步:

func1().GetAwaiter().GetResult();

相关文章:

学习笔记 --C#基础其他知识点(持续更新)

C#中的同步和异步《一》 以下理解借鉴博客&#xff1a;借鉴博客地址1 异步编程&#xff08;Asynchronous&#xff09; 允许任务在后台执行&#xff0c;而不会阻塞调用线程。C#使用async和await关键字 async Task AsynchronousMethod() {// 等待异步操作完成await Task.Delay…...

STM32 高级 谈一下IPV4/默认网关/子网掩码/DNS服务器/MAC

首先可以通过 winr->输入cmd->输入ipconfig 命令可以查看计算机的各种地址 IPV4&#xff1a;是互联网协议第 4 版&#xff08;Internet Protocol version 4&#xff09;所使用的地址。它是一个 32 位的二进制数字&#xff0c;通常被分为 4 个 8 位的部分&#xff…...

智能家居实训室中,STC单片机驱动的“互联网+”智能家居系统设计

一、引言 随着经济的快速发展&#xff0c;人们对家居环境的智能化、网络化需求日益增强&#xff0c;智能家居的研究也因此受到了国内外相关机构的广泛关注。STC单片机凭借其卓越的性能和广泛的应用领域&#xff0c;成为了智能家居系统设计的优选方案。作为一种先进的微控制器&…...

esp32学习:用虫洞ESP32S3-EYE开发板快速实现USB摄像头(UVC免驱)

直接上干货&#xff1a;实现一个USB摄像头&#xff0c;免驱UVC设备。 硬件准备&#xff1a; 乐官方推荐的Cam开发板就是乐鑫带摄像头OV2604的esp32-s3-eye&#xff0c;我们虫洞esp32-s3-eye完全兼容这个板子哦&#xff0c;虫洞ESP32-S3-EYE 人脸识别 esp-cam升级 OpenCV LVGL …...

Python 面向对象编程 五(结束)组合

Python 面向对象编程 五&#xff08;结束&#xff09;组合 组合 组合 组合是面向对象编程中另一个流行的概念&#xff0c;它与封装也有一定关系。简单地说&#xff0c;组成是指在一个对象中包含一个或多个对象&#xff0c;从而形成一个真实世界的对象。包含其他类对象的类称为…...

基于微信小程序的校园访客登记系统

基于微信小程序的校园访客登记系统 功能列表 用户端功能 注册与登录 &#xff1a;支持用户通过手机号短信验证码注册和登录。个人资料管理 &#xff1a;允许用户编辑和更新个人信息及其密码。站内信消息通知&#xff1a;通知公告。来访预约&#xff1a;提交来访预约支持车牌…...

docker 部署mysql8

在Docker中部署MySQL 8是一个相对简单的过程。以下是基本的步骤&#xff1a; 拉取MySQL 8镜像&#xff1a; 使用Docker命令拉取最新的MySQL 8镜像&#xff1a; docker pull registry.openanolis.cn/openanolis/mysql:8.0.30-8.6创建并运行MySQL容器&#xff1a; 创建并运行MySQ…...

聊一聊 C#前台线程 如何阻塞程序退出

一&#xff1a;背景 1. 讲故事 这篇文章起源于我的 C#内功修炼训练营里的一位朋友提的问题&#xff1a;后台线程的内部是如何运转的 ? &#xff0c;犹记得C# Via CLR这本书中 Jeffery 就聊到了他曾经给别人解决一个程序无法退出的bug&#xff0c;最后发现是有一个 Backgrond…...

【编译原理】往年题汇总(山东大学软件学院用)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;编译原理_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …...

【原创学习笔记】近期项目中使用的西门子V20变频器总结(上篇)

现场V20 22kW变频器如图所示 进线分别为L1,L2,L3,PE线&#xff0c;出现分别为U,V,W接电机 在西门子官网查询手册后&#xff0c;查询可知可以通过多种方式控制变频器&#xff0c;比如&#xff1a;面板&#xff08;BOP&#xff09;控制&#xff0c;端子&#xff08;NPN/PNP&…...

IndexOf Apache Web For Liunx索引服务器部署及应用

Apache HTTP Server 是一款广泛使用的开源网页服务器软件,它支持多种协议,包括 HTTP、HTTPS、FTP 等 IndexOf 功能通常指的是在一个目录中自动生成一个索引页面的能力,这个页面会列出该目录下所有的文件和子目录。比如网上经常看到的下图展现的效果,那么接下来我们就讲一下…...

Pytorch | 利用PI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用PI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集PI-FGSM介绍背景和动机算法原理算法流程 PI-FGSM代码实现PI-FGSM算法实现攻击效果 代码汇总pifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构建AlexN…...

Casino Royale靶场wp

0x00 下载安装 https://download.vulnhub.com/casinoroyale/CasinoRoyale.ova 导入vmware启动 0x01 主机信息收集 0x02目录扫描 index.php 获取到一个域名 修改本地hosts 添加一行 路径&#xff1a;C:\Windows\System32\drivers\etc 192.168.2.20 casino-royale.local 点击…...

c/c++ 无法跳转定义

背景 对于嵌入式开发离不开交叉编译工作&#xff0c;采用vccode远程到虚拟机开发来说&#xff0c;总会遇到一个函数跳转问题。下面针对运用开发如何设置vscode保证函数能正确跳转大函数定义。 一、安装c/c插件 安装C/C Extension Pack插件&#xff0c;这插件包含有几个插件。…...

4.5 数据表的外连接

本次课程我们将继续的学习数据表的连接。因为数据表的连接是分为内连接和外连接的。内连接的语法&#xff0c;还有一些练习&#xff0c;我们都是学习到了。那么本次课程咱们就开始学习数据表的外连接语法。首先我来解释一下为什么要使用外连接这种语法。咱们首先看一条记录&…...

请购单一直提示需求部门不能为空无法提交

终于发现了它的逻辑。用户很多次反馈&#xff0c;提交请购单时&#xff0c;提示需求部门不能为空&#xff0c;既使选择了需求部门&#xff0c;保存时&#xff0c;神奇的是会清空掉部门的信息&#xff0c;提交时就会有错误提示出来。 原因&#xff1a;光选择单头上的需求部门是…...

Jenkins基础教程

Jenkins介绍 Jenkins 是一款开源的持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09;工具&#xff0c;在软件开发和自动化部署流程中发挥着关键作用。 1.背景和起源 它最初是由 Sun Microsystems 公司的一名工程师开发的 Hudson 项目&#xff0c;后来…...

如何配置 Java 环境变量:设置 JAVA_HOME 和 PATH

目录 一、什么是 Java 环境变量&#xff1f; 二、配置 Java 环境变量 1. 下载并安装 JDK 2. 配置 JAVA_HOME Windows 系统 Linux / macOS 系统 3. 配置 PATH Windows 系统 Linux / macOS 系统 4. 验证配置 三、常见问题与解决方案 1. 无法识别 java 或 javac 命令 …...

深入解析 Pytest 钩子函数及二次开发过程

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 在 Pytest 测试框架中&#xff0c;钩子函数&#xff08;Hooks&#xff09;是一种强…...

http 请求总结get

关于get请求传递body的问题 错误代码 有400 , 415 等情况 <!doctype html><html lang"zh"><head><title>HTTP Status 400 – 错误的请求</title><style type"text/css">body {font-family:Tahoma,Arial,sans-seri…...

漏洞扫描:网络安全的 “体检” 与 “防护指南”

在当今数字化时代&#xff0c;网络安全如同守护城堡的坚固城墙&#xff0c;而漏洞扫描则是检查城墙是否存在缝隙与薄弱环节的重要手段。那么&#xff0c;究竟什么是漏洞扫描&#xff1f;又该如何进行呢&#xff1f; 什么是漏洞扫描&#xff1f; 漏洞扫描是一种安全检测过程&a…...

《Vue进阶教程》第二十七课:实现侦听对象

往期内容&#xff1a; 《Vue进阶教程》第十六课&#xff1a;深入完善响应式系统之单例模式 《Vue进阶教程》第十七课&#xff1a;支持分支切换 《Vue进阶教程》第十八课&#xff1a;避免死循环 《Vue进阶教程》第十九课&#xff1a;computed初步实现 《Vue进阶教程》第二十…...

【Linux 网络 (五)】Tcp/Udp协议

Linux 网络 一前言二、Udp协议1&#xff09;、Udp协议特点2&#xff09;、Udp协议格式3&#xff09;、Udp报文封装和解包过程4&#xff09;、UDP的缓冲区 三、TCP协议1&#xff09;、TCP协议特点2&#xff09;、TCP协议格式1、4位首部长度、源端口、目的端口2、16位窗口大小3、…...

算法工程化工程师

算法工程化工程师是一种结合算法研究与工程开发能力的技术职位&#xff0c;主要职责是将算法从理论研究到实际落地&#xff0c;应用到各种工业或商业场景中。以下是关于这个职位的一些核心内容&#xff1a; 核心职责&#xff1a; 算法实现与优化&#xff1a; 将数学模型或算法…...

信息系统管理师试题-转型升级

1.3.转型升级 战略转型升级是对组织的长期发展方向、运行模式、组织战略、组织方式、资源配置方式、祖师文化等进行全方位升级变革。下列对战略转型升级的描述错误的是&#xff08;&#xff09; A大多数组织的转型主要是战略转型 B组织转型升级首先要解决的是战略选择问题 C组织…...

mysql三种读取模式(普通、流式、游标)

在与MySQL数据库交互时&#xff0c;数据的读取方式有多种选择&#xff0c;包括流式读取、游标读取和普通读取。每种方式都有其独特的原理、优势和劣势。本文将对这三种读取方式进行详细介绍&#xff0c; 1. 普通读取 介绍 普通读取是指通过JDBC的Statement或PreparedStateme…...

月子会所ERP管理云平台 GetData.ashx SQL注入致RCE漏洞复现

0x01 产品简介 月子会所ERP管理云平台是武汉金同方科技有限公司专为为母婴服务行业提供信息化解决方案,是结合行业顶级月子中心相关企业需求开发的一套综合性管理软件。该系统全面管控月子中心经营过程中的各个环节,提高总店及分店月子中心管理水平,规范月子中心从业人员操作…...

Ubuntu22.10/22.04 autoinstall--OK

第一步:建立ubuntu22.04 jammy apt本地源(见本博主对应栏) --------------------------------------------------------------------------------------- ubuntu22.04 grub配置: menuentry Ubuntu22.04-autoinstall(UEFI) --id UBUNTU22.04-autoinstall { echo "…...

操作系统之同步与互斥的基本概念

1. 同步的基本概念 定义&#xff1a;同步是指在多个并发执行的进程或线程之间协调其行为&#xff0c;以使它们能够正确地相互合作。在计算机科学中&#xff0c;同步通常指对共享资源进行访问控制&#xff0c;以避免竞争条件和死锁等问题。 实现方式&#xff1a;为了实现同步&a…...

【ANGULAR网站开发】初始环境搭建

1. 初始化angular项目 1.1 创建angular项目 需要安装npm和nodejs&#xff0c;这边不在重新安装 直接安装最新版本的angular npm install -g angular/cli安装指定大版本的angular npm install -g angular/cli181.2 启动angular 使用idea启动 控制台启动 ng serve启动成功…...

[青少年CTF练习平台]Lihua‘s for

下载附件之后直接IDA启动 查看dword_403040指向的内容&#xff0c;全是数据&#xff0c;提取出来 分析完成写脚本 flag "" temdata [0x00000066, 0x0000006D, 0x00000063, 0x00000064, 0x0000007F, 0x00000064, 0x00000032, 0x00000036, 0x0000006A, 0x000000…...

WebRTC服务质量(12)- Pacer机制(04) 向Pacer中插入数据

WebRTC服务质量&#xff08;01&#xff09;- Qos概述 WebRTC服务质量&#xff08;02&#xff09;- RTP协议 WebRTC服务质量&#xff08;03&#xff09;- RTCP协议 WebRTC服务质量&#xff08;04&#xff09;- 重传机制&#xff08;01) RTX NACK概述 WebRTC服务质量&#xff08;…...

css文字折行以及双端对齐实现方式

使用flex布局后&#xff0c;文字超出容器部分不会自动折行了。实现代码如下&#xff1a; <el-row><el-col :span"24"><span class"label">姓名</span><span class"content">{{name}}</span></el-col>…...

AI智能养站神器-SEO助理原创文章批量生成发布工具

很多站长最头疼的就是网站每天的内容更新&#xff0c;因为不知道写什么&#xff0c;采集被人的文章又会被定义为抄袭&#xff0c;而且现在伪原创已经没有多大的效果了&#xff0c;所以今天给大家分享的就是一款AI智能养战神器-SEO助理原创文章批量生成发布工具。 这款工具支持…...

python数据分析之爬虫基础:selenium详细讲解

目录 1、selenium介绍 2、selenium的作用&#xff1a; 3、配置浏览器驱动环境及selenium安装 4、selenium基本语法 4.1、selenium元素的定位 4.2、selenium元素的信息 4.3、selenium元素的交互 5、Phantomjs介绍 6、chrome handless模式 1、selenium介绍 &#xff08;1…...

使用 ECharts 与 Vue 构建数据可视化组件

在前端开发中&#xff0c;数据可视化是非常重要的一部分。ECharts 作为一个功能强大且易于使用的开源数据可视化库&#xff0c;被广泛应用于各种图表展示需求中。而 Vue.js 是当下流行的前端框架之一&#xff0c;它的数据驱动和组件化开发模式让我们能轻松地将 ECharts 集成到 …...

KAFKA 权威指南笔记(一)究竟应该配置多少个BROKER?

一个KAFKA集群需要多少个BROKER&#xff1f; 一个单独的Kafka服务器被叫做BROKER&#xff0c;BROKER可以处理数千个分区以及每秒百万级别的消息量。由BROKER组成了“集群”&#xff08;其中由集群控制器角色的BROKER是从成员中选举出来的&#xff0c;负责控制管理工作&#xf…...

练习题:20

目录 Python题目 题目 题目分析 1. 类与变量、属性设计分析 2. Value 属性的实现分析 3. 转换函数分析 4. 整体代码结构与编程规范考虑 代码实现 代码解释 1. 类定义部分 2. 对象创建与功能测试部分 运行思路 1. 类定义阶段 2. 对象创建阶段 3. 获取 Value 属性…...

【时时三省】(C语言基础)动态内存函数malloc

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 malloc 开辟内存块 使用格式 void *malloc&#xff08;size_t sie&#xff09;&#xff1b; 示例 10*sizeof(int&#xff09;就是开辟空间的大小 如果p是void指针的话 p不能解引用 m…...

大数据学习之Redis 缓存数据库二,Scala分布式语言一

一.Redis 缓存数据库二 26.Redis数据安全_AOF持久化机制 27.Redis数据安全_企业中该如何选择持久化机制 28.Redis集群_主从复制概念 29.Redis集群_主从复制搭建 30.Redis集群_主从复制原理剖析 31.Redis集群_哨兵监控概述 32.Redis集群_配置哨兵监控 33.Redis集群_哨兵监控原理…...

第23天:信息收集-APP应用产权渠道服务资产通讯抓包静态提取动态调试测试范围

#知识点 1、信息收集-APP应用-公开信息-知识产权&开发者定位 2、信息收集-APP应用-资产信息-抓包&静态提取&动态调试 一、APP渗透测试的范围->应涵盖APP所有功能和组件&#xff0c;包括但不限于以下几个方面&#xff1a; 1、前端安全&#xff1a;包括界面交互、…...

每日一练 | DHCP 客户端续约过程

01 真题题目 在 DHCP 运行过程中&#xff0c;如果客户端 IP 地址在租约过去 87.5%还没有完成续约的话&#xff0c;客户端将发送什么报文进行再次续约&#xff1f; A. DHCPdiscover 广播报文 B. DHCP release 单播报文 C. DHCPrequest 广播报文 D. DHCPrequest 单播报文 02 真题…...

存储块的获取与释放

目录 获取存储块 释放存储块 设计实现 获取存储块 有空闲存储块&#xff0c;直接取出空闲块&#xff1b; 无空闲存储块&#xff0c;任务进入等待队列。 释放存储块 无任务等待&#xff0c;插入到空闲链表&#xff1b; 有任务等待&#xff0c;释放等待队列头部的任务。 设计实现…...

定位方式:css

使用相对路径 div ul #div下的所有ul&#xff0c;空格表示相对路径&#xff08;这个实际中用的多一些&#xff09; 绝对路径-一般不用绝对路径 html>head>div&#xff0c;“>”表示根路径 使用class名称定位 使用.表示 使用id定位 使用#表示 使用属性定位 [属性名…...

主从复制架构介绍和主从复制配置案例

每一个数据库的业务都对应着一个前端的业务&#xff0c; 主从复制架构的必要性? 第一点是两个服务器如果有一台服务器出现故障&#xff0c;那么另一台服务器可以正常工作&#xff0c;以保障前端业务可以被正常访问&#xff0c;第二点是两个服务器可以共同去处理数据&#xff…...

零跑汽车一路狂飙

新能源汽车市场潮起潮落&#xff0c;只有潮水退去&#xff0c;才能看清谁在裸泳。十年前&#xff0c;一批新能源汽车新势力带着创新的理念和先进的技术&#xff0c;如雨后春笋般涌入中国汽车市场&#xff0c;掀起一场新旧势力的角逐。 经历市场的激烈洗礼与投资泡沫的挤压&…...

固态硬盘SSD

目录 1、固态硬盘结构 2、访问和读取策略 3、固态硬盘 VS SSD固态硬盘 &#xff08;1&#xff09;速度 &#xff08;2&#xff09;性能 &#xff08;3&#xff09;使用寿命 4、磨损均衡技术 &#xff08;1&#xff09;动态磨损均衡 &#xff08;2&#xff09;静态磨损…...

MTEB文本向量化评估基准:Massive Text Embedding Benchmark

Massive Text Embedding Benchmark 文本向量化评估基准 Bitext mining is the task of finding parallel sentences in two languages. 双语文本挖掘是识别两种语言中语义等价句子对的任务。 Classification is the task of assigning a label to a text. 文本分类是为文本分配…...

【Compose multiplatform教程09】【组件】Image组件

查看全部组件 Image 功能说明&#xff1a;能够加载并显示图片&#xff0c;支持本地资源和网络资源&#xff0c;可对图片的大小、缩放方式、裁剪等属性进行设置&#xff0c;使图片以合适的方式展示在界面中&#xff0c;增强界面的视觉效果。示例场景&#xff1a;在应用的启动页…...

android jetpack compose Model对象更新变量 UI不更新、不刷新问题

以前是搞老本行Android原生开发的&#xff0c;因为工作原因&#xff0c;一直在用vue小程序&#xff1b;因为一些工作需要&#xff0c;又需要用到Android原生开发&#xff0c;建了个项目&#xff0c;打开源码一看&#xff0c;天塌了&#xff01;&#xff01;&#xff01;我以前的…...