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

【C#】async关键字修饰后有无await的影响

文章目录

    • 测试
    • 总结
    • 拓展:js的async await
    • 问题
    • 参考

测试

来自微软官网的说法:

异步方法通常包含 await 运算符的一个或多个匹配项,但缺少 await 表达式不会导致编译器错误。 如果异步方法未使用 await 运算符标记悬挂点,则该方法将作为同步方法执行,不管异步修饰符如何。 编译器将为此类方法发布一个警告。

A.如图有两个方法都被async关键字修饰,其中EachProductionLinerejectRateThirdReport方法体里没有await
,GetMonthOutput反之。Test方法调用二者。
在这里插入图片描述
被async关键字修饰没有await会提示“此异步方法缺少await运算符,将以同步方式运行”在这里插入图片描述EachProductionLinerejectRateThirdReport提示“不会等待”在这里插入图片描述
EachProductionLinerejectRateThirdReport提示“不会等待”
在这里插入图片描述

总结

async关键字修饰的方法,没有await等运算符的修饰,方法将以同步的方式运行,只是会在被其他方法调用的时候如不加awaitIDE一样会提示”不会等待“

拓展:js的async await

async function语法

  1. 自动将常规函数转换成Promise,返回值也是一个Promise对象
  2. 只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数
  3. 异步函数内部可以使用await

async function name([param[, param[, … param]]]) { statements }

name: 函数名称。
param: 要传递给函数的参数的名称
statements: 函数体语句。
返回值: 返回的Promise对象会以async function的返回值进行解析,或者以该函数抛出的异常进行回绝。
在这里插入图片描述
await语法

  1. await 放置在Promise调用之前,await
    强制后面点代码等待,直到Promise对象resolve,得到resolve的值作为await表达式的运算结果
  2. await只能在async函数内部使用,用在普通函数里就会报错

[return_value] = await expression;

expression: 一个 Promise 对象或者任何要等待的值。
返回值:返回 Promise 对象的处理结果。如果等待的不是 Promise 对象,则返回该值本身。
在这里插入图片描述

问题

只加async 不配合await那些会开线程么?

优先级相同的情况下,按线程分配资源 ,也看操作系统调用策略了,用线程跑理论上会获得更多cpu资源吧在线程池还够用的时候?

参考

使用 Async 和 Await 的异步编程(C# 和 Visual Basic)
async/await解析

相关文章:

【C#】async关键字修饰后有无await的影响

文章目录测试总结拓展:js的async await问题参考测试 来自微软官网的说法: 异步方法通常包含 await 运算符的一个或多个匹配项,但缺少 await 表达式不会导致编译器错误。 如果异步方法未使用 await 运算符标记悬挂点,则该方法将作…...

Interspeech2022 | 一种基于元辅助学习的低资源口语语义理解方法

中国移动研究院首席科学家冯俊兰博士带领人工智能与智慧运营中心语音团队共同撰写的文章《Meta Auxiliary Learning for Low-resource Spoken Language Understanding》被语音国际顶会Interspeech2022接收。 关于Interspeech Interspeech 是国际最大且最全面关于言语科学与技…...

File类的用法和InputStream,OutputStream的用法

这里写自定义目录标题一、File类1.构造方法2.普通方法二、InputStream1.方法2.FileInputStream3.Scanner类的应用三、OutputStream1.方法2.FileOutputStream3.PrintWriter类的应用一、File类 1.构造方法 签名说明File(File parent, Stringchild)根据父目录 孩子文件路径&…...

Java多线程——Thread类的基本用法

一.线程的创建继承Thread类//继承Thread类class MyThread extends Thread{Overridepublic void run() {System.out.println("线程运行的代码");} } public class Demo1 {public static void main(String[] args) {MyThread t new MyThread();t.start();//启动线程&a…...

【C++】类和对象练习——日期类的实现

文章目录前言1. 日期的合法性判断2. 日期天数&#xff08;/&#xff09;2.1 和的重载2.2 对于两者复用的讨论3. 前置和后置重载4. 日期-天数&#xff08;-/-&#xff09;5. 前置- -和后置- -的重载6. 日期-日期7. 流插入<<重载8. 流提取>>重载9. 总结10. 源码展示前…...

[LeetCode周赛复盘] 第 333 场周赛20230219

[LeetCode周赛复盘] 第 333 场周赛20230219 一、本周周赛总结二、 [Easy] 6362. 合并两个二维数组 - 求和法1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6365. 将整数减少到零需要的最少操作数1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6364. 无平方子集计数1. 题目描…...

数字化时代,如何做好用户体验与应用性能管理

引言 随着数字化时代的到来&#xff0c;各个行业的应用系统从传统私有化部署逐渐转向公有云、行业云、微服务&#xff0c;这种变迁给运维部门和应用部门均带来了较大的挑战。基于当前企业 IT 运维均为多部门负责&#xff0c;且使用多种运维工具&#xff0c;因此&#xff0c;当…...

Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题

之前的文章有关于更多操作方式详细解答&#xff0c;本篇基于前面的知识点进行操作&#xff0c;如果不了解可以先看之前的文章 Python爬虫&#xff08;1&#xff09;一次性搞定Selenium(新版)8种find_element元素定位方式 Python爬虫&#xff08;2&#xff09;-Selenium控制浏览…...

如何对项目健康度进行测量?评估项目健康状况

项目驱动变革&#xff0c;大部分公司逐步由运营驱动转变为项目驱动&#xff0c;带来更多重新和商业价值。对组织而言&#xff0c;从商业角度看&#xff0c;项目旨在推动组织从一个状态转到另一个状态&#xff0c;从而达成特定目标。项目的健康情况如何关乎项目和变革的成本&…...

美国原装二手keysight E4980A(安捷伦)2MHZ LCR表

Agilent E4980A、Keysight E4980A、LCR 表&#xff0c;20 Hz - 2 MHz E4980A 是 Agilent 的 2 MHz LCR 表。LCR表是一种电子测试设备&#xff0c;用于测量电子元件的电感&#xff08;L&#xff09;、电容&#xff08;C&#xff09;和电阻&#xff08;R&#xff09;。LCR 表可…...

《clean coder》:关于摆烂,争论和心态

“凡是不能在五分钟之内解决的争论&#xff0c;都不能依靠辩论解决” ---- Kent Beck 作为一个码农&#xff0c;我并不是一个喜欢争论的角色。很长一段时间会陷入一种摆烂的&#xff0c;被动的状态。“既然其他人想要这么做&#xff0c;就这么办吧”。这可能是非专业的行为中最…...

jenkins下载与简单使用

1.jenkins下载 因为我仍然使用的是jdk1.8进行开发&#xff0c;所以我下载的是jenkins2.332.1版本&#xff08;jenkins2.346.1版本在2022年末不再支持java8&#xff0c;如果项目使用的是jdk11可以继续使用该jenkins版本&#xff09;&#xff0c;更多版本下载请点击jenkins下载 …...

3|物联网控制|计算机控制-刘川来胡乃平版|第3章:计算机总线技术 补充串行总线部分|课堂笔记|ppt

2022年 10月 10日 3.3 外部总线 3.3.2 RS-232-C总线 机械特性...

Blazor入门100天 : 身份验证和授权 (3) - DB改Sqlite

目录 建立默认带身份验证 Blazor 程序角色/组件/特性/过程逻辑DB 改 Sqlite将自定义字段添加到用户表脚手架拉取IDS文件,本地化资源freesql 生成实体类,freesql 管理ids数据表初始化 Roles,freesql 外键 > 导航属性完善 freesql 和 bb 特性 本节源码 https://github.com/…...

阅读源码和查看官方文档,是解决问题最高效的办法。

作为一个工作8年的老程序员告诉你&#xff1a;阅读源码和查看官方文档&#xff0c;是解决问题最高效的办法。不信你来看&#xff0c;这个困扰了读者半天的问题我查了源码和文档后瞬间解决。 前言 上周五有位读者私信我一个问题&#xff0c;说困扰了他半天&#xff0c;研究了一…...

云原生流量管理系统中 Service , Ingress 和 Endpoint 的关系

摘要 Kubernetes(简称 K8s)是一个用于容器编排和管理的开源平台,其中流量管理是 K8s 的重要功能之一。K8s 提供了多种流量管理方式,以便对不同场景下的流量进行控制和管理。以下是 K8s 中常用的流量管理系统: Service:Service 是 K8s 中最基本的流量管理方式,用于提供…...

给你安利几款好用的谷歌浏览器插件

给你安利几款好用的谷歌浏览器插件前言一 Octotree 插件二 GitCodeTree 插件三 SourceGraph 插件四 GitZip 插件五 Enhanced GitHub 插件六 插件下载安装6.1 谷歌应用商店下载6.2 离线安装6.2.1 下载插件6.2.2 安装插件七 移除、启用、停用插件小结前言 GitHub是全球最大的代码…...

JDK定时器Timer原理

前言 前些时间想到利用redis实现延时队列&#xff0c;但是底层的定时器不止如何实现好些&#xff0c;故此研究了一下jdk的Timer。 Timer是一个用于执行定时任务的类&#xff0c;可以单次执行或按指定时间间隔循环执行&#xff08;直到主动cancel或线程被杀掉&#xff09;。Ti…...

vue3中使用swiper完整版教程

介绍 在 vue3 中使用 swiper, 实现轮播图的效果&#xff1b;如果组件样式等模块引入不当&#xff0c;很有可能导致&#xff0c;页面无效果&#xff1b;或者想要的箭头或者切换效果异常问题。具体使用方式如下所示&#xff1a; 使用方式 使用命令 npm install swiper 安装 sw…...

某个div的滚动条样式

.item-body,.chart2{/*滚动条整体样式*/&::-webkit-scrollbar {/*高宽分别对应横竖滚动条的尺寸*/width: 10px;height: 1px;}/*滚动条里面小方块*/&::-webkit-scrollbar-thumb {border-radius: 10px;-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);background:…...

性能分析定界(OpenHarmony平台)指南

性能分析定界指南 前置条件 OpenHarmony Next系统前台运行Flutter页面分析工具 DevEco Studio Profiler SmartPerf Flutter线程介绍 Flutter 使用多个线程来完成其必要的工作&#xff0c;图层中仅展示了其中两个线程。你写的所有 Dart 代码都在 UI 线程上运行。尽管你没有直…...

新能源汽车,车载充电机仿真模型(基于PWM整流器)。输出功率3.3kw,前级PFC采用双闭环控制,电流畸变率小。后级采用移相全桥开环控制。 运行环境有matlab_simulink和plecs

新能源汽车&#xff0c;车载充电机仿真模型&#xff08;基于PWM整流器&#xff09;。输出功率3.3kw&#xff0c;前级PFC采用双闭环控制&#xff0c;电流畸变率小。后级采用移相全桥开环控制。 运行环境有matlab/simulink和plecs针对新能源汽车车载充电机&#xff08;OBC&#x…...

新手入门指南:基于快马平台构建静电地板施工交互学习系统

作为一名刚接触机房建设的新手&#xff0c;第一次看到"静电地板施工"这个词时&#xff0c;整个人都是懵的。直到我在InsCode(快马)平台上尝试做了一个交互式学习系统&#xff0c;才发现原来掌握这项技能可以这么简单。下面分享下我的学习心得和系统构建过程。 为什么…...

Coze开发自能体的费用

Coze&#xff08;扣子&#xff09;的计费体系在 2026 年进行了全面升级&#xff0c;目前主要分为 国内版 (coze.cn) 和 国际版 (coze.com) 两套独立的定价逻辑。以下是具体的费用构成&#xff1a;1. 国内版 (coze.cn) 计费模式国内版目前采用的是订阅制 资源包的模式&#xff…...

Pyinstaller:打包Python文件成exe可执行文件

1、pyinstaller安装pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple2、打包单个文件如果所有代码是写在一个.py文件里的&#xff0c;可以尝试使用这种方式pyinstaller -F filesname.py成功运行后会在桌面生成三个文件&#xff1a;可执行文件.exe就在dist…...

SuperDuperDB事件驱动架构:构建实时AI应用的全新方式

SuperDuperDB事件驱动架构&#xff1a;构建实时AI应用的全新方式 【免费下载链接】superduperdb Superduper: End-to-end framework for building custom AI applications and agents. 项目地址: https://gitcode.com/gh_mirrors/su/superduperdb SuperDuperDB是一个端到…...

终极SHADERed着色器调试指南:从断点设置到变量监控的完整流程

终极SHADERed着色器调试指南&#xff1a;从断点设置到变量监控的完整流程 【免费下载链接】SHADERed Lightweight, cross-platform & full-featured shader IDE 项目地址: https://gitcode.com/gh_mirrors/sh/SHADERed SHADERed是一款轻量级、跨平台且功能全面的着色…...

手机摄影党必看!用Flare7K数据集原理改善夜间拍摄(华为/iPhone实测)

手机摄影党必看&#xff01;用Flare7K数据集原理改善夜间拍摄&#xff08;华为/iPhone实测&#xff09; 夜间拍摄时&#xff0c;你是否经常遇到这样的困扰&#xff1a;路灯变成模糊的光团&#xff0c;霓虹灯周围出现奇怪的彩虹条纹&#xff0c;或是画面中突然多出几条不明来源的…...

如何用ContextMenuManager轻松管理Windows右键菜单:终极效率提升指南

如何用ContextMenuManager轻松管理Windows右键菜单&#xff1a;终极效率提升指南 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是不是也经常被Windows右键菜…...

技术对业务的赋能

技术对业务的赋能 技术不只是实现需求&#xff0c;更是提升效率、降低成本、放大增长、控制风险&#xff0c;最终帮业务赚到更多、跑得更快、活得更稳。 1. 提升效率&#xff0c;降本增效 自动化流程&#xff1a;表单、审批、报表自动生成&#xff0c;减少人工重复劳动组件化/低…...