首页 > 其他分享 >net core -Lock

net core -Lock

时间:2023-06-08 09:47:18浏览次数:35  
标签:CancellationToken GetCacheKey core Lock cache token key net cacheLock

一 读写锁

public async Task<byte[]> GetAsync(string key, CancellationToken token = new CancellationToken())
        {
            _cacheLock.EnterReadLock();
            try
            {
                return await _cache.GetAsync(GetCacheKey(key), token);
            }
            finally
            {
                _cacheLock.ExitReadLock();
            }
        }

        public async Task SetAsync(string key, byte[] value, DistributedCacheEntryOptions options, CancellationToken token = new CancellationToken())
        {
            _cacheLock.EnterWriteLock();
            try
            {
                await _cache.SetAsync(GetCacheKey(key), value, options, token);
            }
            finally
            {
                _cacheLock.ExitWriteLock();
            }
        }

        public async Task RemoveAsync(string key, CancellationToken token = new CancellationToken())
        {
            _cacheLock.EnterWriteLock();
            try
            {
                await _cache.RemoveAsync(GetCacheKey(key), token);
            }
            finally
            {
                _cacheLock.ExitWriteLock();
            }
        }

二 待续。。。

标签:CancellationToken,GetCacheKey,core,Lock,cache,token,key,net,cacheLock
From: https://www.cnblogs.com/Insist-Y/p/17465262.html

相关文章

  • requests:一个比net/http包更简洁、高效的开源包
    今天给大家推荐一个高效的HTTP的请求包:carlmjohnson/requests。项目地址是:https://github.com/carlmjohnson/requests该包诞生的背景作者在自己的博客中描述了自己为什么写这个request包。作者这样描述go的net/http包:Go的net/http包虽然功能强大、用途也广泛,但要想正确地使用请......
  • 1.7Mininet多数据中心网络拓扑流量带宽实验
    Mininet多数据中心网络拓扑流量带宽实验实验目的1、掌握多数据中心网络拓扑的构建。2、熟悉网络性能测试工具Iperf,根据实验测试SDN网络的性能。实验环境Mininet多数据中心网络拓扑流量带宽实验的拓扑如下图所示。设备名称软件环境硬件环境主机Ubuntu14.04桌面......
  • 1.6Mininet流表应用实战2——控制器下发流表协议分析
    Mininet流表应用实战2——控制器下发流表协议分析实验目的1、理解OpenFlow交换机和控制器间的工作原理。2、学会使用Wireshark抓包分析,熟悉了解OpenFlow协议。。实验环境Mininet流表应用实战2——控制器下发流表协议分析实验的拓扑如下图所示。实验环境信息如下表所示。......
  • .Net 6使用Hangfire(二)
    本文主要介绍如何使用已配置好的HangFire来执行作业调度。1、Fire-and-forget即发即弃立即调用作业并且只执行一次;当我们调用Hangfire.BackgroundJob.Enqueue的时候,并不是立即调用传入的方法,它会执行以下的几个步骤:①把作业信息(传入的方法和方法参数)进行序列化;②基于序列化......
  • 【Netty】02-入门
    二.Netty入门1.概述1.1Netty是什么?Nettyisanasynchronousevent-drivennetworkapplicationframeworkforrapiddevelopmentofmaintainablehighperformanceprotocolservers&clients.Netty是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、......
  • 机器学习-头饰20类-图像分类,头饰图像分类-Resnet50
    (一).选题背景:什么是图像分类?它有哪些应用场合?图像分类任务是计算机视觉中的核心任务,其目标是根据图像信息中所反映的不同特征,把不同类别的图像区分开来。从已知的类别标签集合中为给定的输入图片选定一个类别标签。它的难点在于:跨越“语义鸿沟”建立像素到语义的映射。还有就是......
  • BLINNET - Bytelandian Blingors Network
    传送门:BLINNET-BytelandianBlingorsNetwork通过读题,不难发现,把这些点连接起来的最小成本,岂不是最小生成树?现在先思考一下给出的城市名字需要如何处理?其实直接按照输入顺序标号就好了!跑一遍最小生成树即可,注意多测清空。处理最小生成树的策略是,把边按照成本从小到大排序,每......
  • 每个 ASP.NET 开发人员都应该知道的 IIS 管道中的 HTTP 请求生命周期事件
    原文:https://www.dotnetcurry.com/aspnet/747/http-request-lifecycle-events-iis-pipeline-aspnet......
  • .net低代码开发平台 快速实现组织架构数字化
    在数字化时代,企业面临着巨大的转型挑战。数字化赋予了企业极大的流程优化和高效性,提供了以前难以想象的效率。数字化让企业可以通过机器学习、大数据、自动化流程等手段,实现更快、更精确的决策和反应性。其中,企业组织架构数字化尤为重要。数字化转型是企业的整体转型,是对企业业务......
  • 3D UX-net 训练记录
    3DUX-net训练记录题外话:如果自己跑过nnunet或者其他模型的大佬会更容易上手,但是对于第一次跑模型的小白来说,这个模型也是很好上手和跑通的!本人就是小白,这是我跑通的第一个模型。首先先去官网下载所需的代码和论文(跑之前可以先不看论文,我就是)官网:GitHub-MASILab/3DUX-Net......