首页 > 其他分享 >我面试失败了,因为我不知道这个

我面试失败了,因为我不知道这个

时间:2023-08-25 12:55:06浏览次数:39  
标签:异步 SemaphoreSlim lock 面试 线程 因为 失败 锁定

我因为不知道这个而失败了一次面试。所以我写这篇文章,确保这种情况不会再发生在你身上。

锁定允许我们控制有多少线程可以访问代码中的某个部分。

为什么要这样做呢?

因为你想保护对昂贵资源的访问。而且你需要锁定提供的并发控制。由于我很少使用低级代码,所以我尝试使用lock语句来实现这一点。结果一切都变得一团糟。

lock语句在异步代码中不起作用。这是有道理的,因为你无法保证哪个线程会完成你的异步方法。那么解决方案是什么呢?

你需要使用一个可以异步工作的同步原语。

在C#中有很多选择,而SemaphoreSlim是一个很好的选择。

你可以设置最大计数值(允许进入的线程数)来获得所需的并发级别。

两个重要的注意事项:

在等待信号量时使用超时

  • 确保在try-finally中释放锁
  • 现在你已经准备好在实际工作中使用锁定了。

在你离开之前,给你一个有趣的问题。你会如何在分布式系统中实现锁定?

SemaphoreSlim文档

转载:https://twitter.com/mjovanovictech/status/1694594265928650988

标签:异步,SemaphoreSlim,lock,面试,线程,因为,失败,锁定
From: https://www.cnblogs.com/hejiale010426/p/17656650.html

相关文章

  • Android并发编程高级面试题汇总(含详细解析 九)
    Android并发编程高级面试题汇总最全最细面试题讲解持续更新中......
  • Android岗面试少只是正常规律,我们只需要这样做
    自身情况作为一名大专学历的机电专业毕业生,我是在参加Java培训后决定转向Android开发。在培训期间,我发现JavaEE开发涉及很多知识,于是决定投身Android开发。我的第一份安卓工作让我在实习生阶段得到了很好的学习和实践机会。在这里,我想分享一些关于找工作的经验。首先,当你工......
  • 大模型面试复习
    1.MHQ和MQA MultiQuerySelfAttention: MHQ和MQA的不同之处仅仅在于每个头共享相同的K、V权重而Q不同享。 2.FlashAttention:核心是减少self-attention计算过程中对gpu存储单元HBM的访问,HBM的特点是存储大,但是访问速度慢,attention的中间结果会存放到hbm中,导致速度慢,尽量计......
  • 总结一下强化学习中的面试问题
    1、PPO算法运用了clip函数限制取值范围,为什么还要加上min呢?2、AC架构与PPO之间的区别?3、什么是装饰器?4、lamada函数?5、什么是model-based与model-free?6、python中map函数的用法?7、准确率、精确率、召回率、F1score的意义?8、PPO的上一个策略收集到的经验可以用多少次?......
  • Navicat Premium保存密码失败:Failed to save password Error code: -34018
    卸载卸载干净后重装15.0.29或之后的版本,卸载参见:https://download.csdn.net/blog/column/9651437/103915601:sudorm-Rf/Applications/Navicat\Premium.appsudorm-Rf/private/var/db/BootCaches/CB6F12B3-2C14-461E-B5A7-A8621B7FF130/app.com.prect.NavicatPremium.play......
  • 【面试题总结】
    【面试题总结】持续更新~~~【面试题一】数据库的三大范式【面试题二】MySQL的索引类型及作用【面试题三】事务的特性和隔离级别【面试题四】脏读&不可重复&读幻读【面试题五】mysql5.7以后默认隔离级别【面试题六】qps&tps&并发量&pv&uv【面试题七】什么......
  • Python——pip安装weditor失败
    前言python_version:3.11.4内容[email protected]:alibaba/web-editor.gitpipinstall-eweb-editor......
  • Linux基础命令:应付测试面试
    1.进入文件命令vi文件名(一定要知道是那个目录下的文件) 下图为进入该文件: 2.编辑文件:先按I进入编辑模式就可以随便写入了保存之前一定要先退出编辑模式:按ESC接下来就是保存:    :q 不保存直接退出    ......
  • secure boot造成Ubuntu nvidia显卡驱动安装失败
    1.驱动安装教程驱动安装可参考:[1] Linux安装Nvidia显卡驱动+CUDA+cuDNN+PyTorch这个教程,在关闭secureboot的主机上安装是没问题的,但是如果是默认开启的主机(特别是台式机),就会造成一些问题。2.secureboot是什么secureboot是2012年出现的Windows8预装电脑里的UEFI功能,目前......
  • 千人千面:来看看这道简单的SQL面试题——设计一个学生成绩表
    今早上班后清理工位时,发现这张废纸,记录一下。 下面是这个简单的数据库应用面试题1、设计一个学生成绩表(DDL或者是逻辑结构)2、用一条SQ语句查询总成绩大于270分的学生3、用一条SQL语句查询出每门课都大于80分的学生 ......