为什么async/await方法不能有lock或Monitor

        相信有不少朋友知道async/await有lock语法的情况一般都会编译错误,这个时候可以通过Monitor来解决编译错误的问题;虽然这样解决的编译错误但本质问题还是没有解决。

        其实并不是async/await方法不能用lock或Monitor,而是在lock或Monitor的作用域内是不能使用awaiter功能。最主要原因是await后面代码执行线程非常大的机率不是Monitor.Enter线程,所以在执行Monitor.Exit的是会异常的。lock或Monitor要求锁和解锁对象时都必须是同一线程处理,而await其实只是个异步状态机,它后面的代码触发线程是异常步回调线程,所以是无法释放对象锁的。

        但有时候个别async/await需要同步执行怎办?那可以使用线程信号量来解决。通过SemaphoreSlim对象可以方便解决方法同步运行问题,详细可查看

https://docs.microsoft.com/zh-cn/dotnet/api/system.threading.semaphoreslim?view=net-5.0

BeetleX

开源跨平台通讯框架(支持TLS)
提供高性能服务和大数据处理解决方案

https://beetlex.io

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

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

相关文章

每日一笑 | 程序员和产品经理打架了,怎么办?

全世界只有3.14 % 的人关注了数据与算法之美(图片来源于网络,侵权删)

新建项目EasyUiAutotest,安装Appium-Python-Client

一、前置说明 Appium-Python-Client 是 Appium 的 Python 客户端库,它提供了一系列的类和方法,用于与 Appium 服务器进行通信,并执行各种移动应用测试操作,包括启动应用、模拟用户输入、点击等操作。 二、操作步骤 1. 启动Pych…

VS Code + ML.NET 玩转交互式机器学习

在上一篇文章中,我们介绍了 .NET Interactive Notbook,可以进行代码实时运行和交互式展示。这对于ML.NET来说非常棒,可以运用到许多场景,比如数据探索、绘制数据图表、编制教学课件等。下面,我们就用出租车费预测&…

ts定义数组类型_ts基本数据类型

typescript基础数据类型布尔值 示例代码最基本的数据类型就是简单的true/false值,在JavaScript和TypeScript里叫做boolean(其它语言中也一样)。let a: boolean trueconsole.log(a)let b: boolean falseconsole.log(b)let c: booleanconsole.log(c)执行结果truefal…

神还原女神照片!GAN为百年旧照上色

全世界只有3.14 % 的人关注了数据与算法之美如何把女神的黑白照片变成彩照?今日,数据汪发现新加坡 GovTech 数据科学与人工智能部门在 Medium 上介绍了一个为百年旧照上色的项目。这个项目名为 Colourise.sg,最初是该团队(成员包括…

cacti+nagios 整合遇到的问题

cacti安装成功了,下载一个npc插件来套用nagios,nagios要用ndoutils和cacti连接。主要安装ndoutils出现的问题。启动ndoutils时出错:/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg错误提示:Support for th…

谈谈MySQL面试的45个常见问题

前两天,我跟一个面试官聊天,发现一个普遍想象,不少候选人,对数据库的认知,还处在比较基础的阶段,以为会写“增删改查”、做表关联就足够了,那些工作中经常出现的问题,却支支吾吾答不…

TensorFlow的这些骚操作你都知道吗?

TensorFlow Lite 2019 年发展蓝图分为四个关键部分:易用性、性能、优化和可移植性。自 2015 年 11 月 9 号发布之后,TensorFlow 逐渐成为人工智能领域最广泛运用的深度学习框架。那么TensorFlow框架到底是什么?TensorFlow 是一个大规模机器学…

实现图片打乱_疫情过后,是否打乱了你前进的脚步?面对现状,你将如何开展新的征程?...

2020年的这个春节,一场疫情打乱了所有的计划。就在整个城市都躲起来的时候,有一群人却站了出来。他们背对着我们,却直面着生死,他们每一刻都在与时间赛跑,与死神抢人。他们是值得我们尊敬的人,是最敬爱的人…

SystemCenter2012SP1实践(23)私有云的权限设计

SCVMM和SCAC作为微软私有云的两个重要入口,由于私有云的资源是多部门公用的,为了防止权限扩大导致资源浪费和误操作的可能性,我们在企业中部署的时候,需要认真的规划好用户和相应级别管理员的权限设置。我是分隔线本文主要介绍身份…

面向.NET开发人员的Dapr——参考应用程序

目录:面向.NET开发人员的Dapr——前言面向.NET开发人员的Dapr——分布式世界面向.NET开发人员的Dapr——俯瞰Dapr面向.NET开发人员的Dapr——入门Dapr reference applicationDapr 参考应用Earlier in the book, youve learned about the foundational benefits of D…

数据集转换_为什么LSTM看起来那么复杂,以及如何避免时序数据的处理差异和混乱...

LSTM(long short term memory,长短期记忆网络)是预测时间序列最常用的神经网络模型之一。但是这种神经网络模型相当复杂,需要特定的结构、数据前期处理等操作。当在网上搜寻要学习的代码时,很难将另一个程序员的代码合…

一直被模仿,从未被超越的经典订阅号!

不管你昨天有多优秀,代表不了今天的辉煌,昨天的太阳永远晒不干今天的衣裳,以阳光心态迎接每一天。今天小编就给大家推荐几个越来越优秀的微信公众号希望把快乐和成长带给您长按二维码,选择【识别图中二维码】关注日读好书ID&#…

面向.NET开发人员的Dapr——总结和前景

目录:面向.NET开发人员的Dapr——前言面向.NET开发人员的Dapr——分布式世界面向.NET开发人员的Dapr——俯瞰Dapr面向.NET开发人员的Dapr——入门面向.NET开发人员的Dapr——参考应用程序面向.NET开发人员的Dapr——状态管理面向.NET开发人员的Dapr——发布和订阅面…

每日一笑 | 周一,如何才能保持清醒?

全世界只有3.14 % 的人关注了数据与算法之美(图片来源于网络,侵权删)难怪数据汪每次喝咖啡都没啥用原来是没用对杯子...

查询两个日期间隔天数怎么算_大厂都是怎么用Java8代替SimpleDateFormat?

1 SimpleDateFormat 之坑1.1 格式化1.1.1 案例初始化一个Calendar,设置日期2020年12月29日​日志​这是由于混淆SimpleDateFormat的各种格式化模式:小写y是年大写Y是week year,即所在的周属于哪一年一年第一周的判断方式从getFirstDayOfWeek(…

Vertex Texture Fetch(VTF) Fragment Texture Fetch ( FTF )

在vertex shader里也可以检索纹理。我本来觉得这没什么好奇怪的,因为我一直也觉得这很当然可以啊~当初橙书(OpenGL Shading Language Edtion2)也说过texture2D这类函数不是fragment shader专用的,倒还有texture2DLod这种在vertex shader里专用的&#xf…

面向.NET开发人员的Dapr——机密

目录:面向.NET开发人员的Dapr——前言面向.NET开发人员的Dapr——分布式世界面向.NET开发人员的Dapr——俯瞰Dapr面向.NET开发人员的Dapr——入门面向.NET开发人员的Dapr——参考应用程序面向.NET开发人员的Dapr——状态管理面向.NET开发人员的Dapr——发布和订阅面…

没找到rpm命令_Mysql的命令总结和PyMysql

Author:RunsenDate:2019/2/27作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件。导致翘课严重,专业排名中下。.在大学60%的时间&a…

银联再发道歉声明;印度发布吃鸡禁令;甘肃全省校园禁售辣条;波音面临50亿罚款;女子撕扯民警头发罚两百;这就是今天的大新闻。...

今天是3月18日农历二月十二今天星期一最近天气多变大家出门注意穿衣带伞下面是今天的大新闻银联再发道歉声明(央视财经)315晚会就“闪付”功能存在“隔空盗刷”的风险对广大消费者进行消费预警。3月16日下午,银联回应此事,表示隔空…