企业网站模板 演示网站开发外键

web/2025/10/4 10:05:48/文章来源:
企业网站模板 演示,网站开发外键,小程序注册哪类商标,二手房网站建设书大家在编程过程中都会用到一些异步编程的情况。在c#的BCL中#xff0c;很多api都提供了异步方法#xff0c;初学者可能对各种不同异步方法的使用感到迷惑#xff0c;本文主要为大家梳理一下异步方法的变迁以及如何使用异步方法。 BeginXXX#xff0c;EndXXX模式 在.Net F…大家在编程过程中都会用到一些异步编程的情况。在c#的BCL中很多api都提供了异步方法初学者可能对各种不同异步方法的使用感到迷惑本文主要为大家梳理一下异步方法的变迁以及如何使用异步方法。 BeginXXXEndXXX模式 在.Net Framework 2.0中最常见的方法是BeginXXX和EndXXX这样的方法来搭配使用。这种模式可以概括为方法回调函数模式或者称为InvokeMethodEventHandler模式。 这种模型的基本流程是 调用BeginXXX方法BeginXXX方法中传入一个回调方法这个回调方法会在异步方法执行结束后被执行调用EndXXX方法使用EndXXX方法会阻塞当前线程直到异步方法返回结果。 我们看一个FileStream的示例方法在.Net 2.0中你需要这样使用异步 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 using System; using System.IO; using System.Text;   public class AsyncTest {     public static void Main(string[] args)     {         using (FileStream file  new FileStream(Test.txt, FileMode.OpenOrCreate))         {             var bytes Encoding.UTF8.GetBytes(Test for .net framework 2.0);               IAsyncResult asyncResult file.BeginWrite(bytes, 0, bytes.Length, callback, null);               file.EndWrite(asyncResult);         }           Console.ReadLine();     }       private static void callback(IAsyncResult ar)     {         Console.WriteLine(Finish Write);     } } XXXAsync模式 从.Net 4.0开始微软引入了Task。由于Task本身的灵活性也使得我们的异步编程模型更简洁。上面的例子在.Net 4.5中可以这样实现 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 using System; using System.IO; using System.Text; using System.Threading.Tasks;   public class AsyncTest {     public static void Main(string[] args)     {         using (FileStream file  new FileStream(Test.txt, FileMode.OpenOrCreate))         {             var bytes Encoding.UTF8.GetBytes(Test for .net framework 4.5);               var task file.WriteAsync(bytes, 0, bytes.Length);               task.Wait();         }           Console.ReadLine();     } } 微软在许多BCL的api中都添加了XXXAsync方法来实现新的异步模型。Task本身比回调方法灵活了许多可以更优雅的实现回调取消调度等操作。关于Task的使用方式可以看我之前总结的文章link。 async和await模型 为了进一步简化异步模型微软从Visual Studio 2012开始引入了async和await关键字。这个模型本身是基于编译器的一个语法糖编译后会生成一个statemachine模型。这样上面例子中的写法也可以简化成 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 using System; using System.IO; using System.Text; using System.Threading.Tasks;   public class AsyncTest {     public static void Main(string[] args)     {         TestFunc();     }       private static async void TestFunc()     {         using (FileStream file  new FileStream(Test.txt, FileMode.OpenOrCreate))         {             var bytes Encoding.UTF8.GetBytes(Test for .net framework 4.5);             await file.WriteAsync(bytes, 0, bytes.Length);         }     } } 关于异步编程模型的兼容性 如果大家注意看BCL中的类库会发现微软并没有在最新版本的类库中对每一个BeginXXX的方法都添加了XXXAsync方法。这种情况下我们如何能让新的异步模型兼容旧的方法呢 以NamedPipeServerStream为例这个类库实现了一个管道的功能微软并没有为其更新XXXAsync方法你可以使用TaskFactory来兼容新的异步模型你可以这样来实现 1 2 3 4 5 6 7 8 9 10 11 12 13 private static void OldAsyncModel() {     NamedPipeServerStream pipe  new NamedPipeServerStream(customPipe, PipeDirection.InOut, -1, PipeTransmissionMode.Message, PipeOptions.Asynchronous | PipeOptions.WriteThrough);     IAsyncResult async pipe.BeginWaitForConnection(callback, null);     pipe.EndWaitForConnection(async); }   private static async void NewAsyncModel() {     NamedPipeServerStream pipe  new NamedPipeServerStream(customPipe, PipeDirection.InOut, -1, PipeTransmissionMode.Message, PipeOptions.Asynchronous | PipeOptions.WriteThrough);       await Task.Factory.FromAsync(pipe.BeginWaitForConnection, pipe.EndWaitForConnection, null); } 因此我们可以总结为.Net中有两种异步编程模型 不返回Task对象的调用方法回调方法的模型返回Task对象的XXXAsync模型和asyncawait模型 BeginXXX模型微软已经逐渐的考虑废弃返回Task的异步编程模型目前是微软建议的方式。 作者独上高楼 出处http://www.cnblogs.com/myprogram/ 本文版权归作者和博客园共有欢迎转载但未经作者同意必须保留此段声明且在文章页面明显位置给出原文连接否则保留追究法律责任的权利。

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

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

相关文章

上海部道网站 建设快照不更新怎么办

在Rust语言中包含了一系列被称为集合的数据结构。大部分的数据结构都代表着某个特定的值,但集合却可以包含多个值。与内置的数组与元组类型不同,这些集合将自己持有的数据存储在了堆上。这意味着数据的大小不需要在编译时确定,并且可以随着程…

北京通信管理局网站备案处启迪设计集团股份有限公司

QT——tableWidget-跳变之舞V1.0-记录学习【1】 文章目录 QT——tableWidget-跳变之舞V1.0-记录学习【1】前言一、利用QT创建项目文件1.1 完整项目文件如下图所示:1.2 演示: 二、声明文件:2.1 主界面声明文件:mainwindow.h;2.2 控制窗口声明文…

搭建网站需要学什么软件下载wordpress如何访问量

惯例闲话:最近和老婆大人商议买车事宜,闲人以为会陷入买油车还是电车的纠结,没想到老婆大人无比坚定,买电车。在买车这方面,老婆的想法居然比闲人超前。闲人对车定位在代步工具,2年前,对车还是印…

网站开发设计体会wordpress亲子模板

一些做了二十多年外贸的老公司,早期就通过使用ERP软件来进行订单的处理,但是随着互联网的发展,用的年岁久了,软件运行速度也变卡了,看到别人家的新功能也眼馋,但是就是不敢升级,担心一升级&…

国外html5网站建设研究现状想做网站建设

前言 HTTP/1.1 是目前广泛应用的网络协议之一,虽然已经存在多年,但我们仍然可以通过优化来提升其性能和效率。本文将从优化思路的角度出发,探讨如何在 HTTP/1.1 协议下实现优化,包括避免发送重复 HTTP 请求、减少 HTTP 请求次数、…

天津星创网站建设有限公司门户网站建设存在的问题和差距

977. 有序数组的平方y 思路,原数组是有序的,但是因为负数平方后可能变无序了,因此利用双指针遍历原数组,比较 nums[left]*nums[left]和nums[right]*nums[right]谁更大,然后对新数组赋值 class Solution {public int…

微信如何做积分商城网站深圳app开发公司前十名

不知不觉,关于Spring事务的文章已经写了五篇了。老实讲我自己不断质疑过自己:现在写这些文章还有意义吗?当前的市场已经成什么样了,为什么还要固守这落后的技术?但是贝索斯一次接受访谈的回答,让我写下去的…

如何优化企业网站哪个网站做加盟

电话光端机就是把传统的电话信号转换成光信号,可通过光纤传输电话、以太网、音频的设备,让电话信号能够传输的更长距离,而且传输速率上也有很大的提高。电话光端机和PDH光端机用法各不一样,而PDH光端机简单的说是通过光纤来传输E1信号和100M以太网信号。…

手机客户端网站怎么做eclipse 开发jsp网站开发

跟着B站的视频敲了一个略微复杂的WPF界面,链接如下.在这里我详细的写一份博客进行设计总结. 系统介绍和配置及主窗口设计_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Wy421Y7QD?p1&vd_source4796b18a2e4c1ec8a310391a5644b6da 成果展示 实现过程 总体来说,我的…

网站建设费用计入管理费用的哪个科目宁波制作网站企业

2019独角兽企业重金招聘Python工程师标准>>> 1、导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 存放位置比如: mysqldump -u root -p project > c:/a.sql 2.导出一个表的结构,并且带表中的数据 mysqldump -u 用户名 -p 数据库名 …

asp网站发布ftp长春市做网站哪家好

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

php网站模板怎么用网页制作论坛

一、问题描述 该问题的具体表现就如上图一样,模块——”spring-ioc-xml-01“的应该有一个蓝色的方块。现在蓝色方块缺失了之后,我们需要让maven工程重新识别出这个模块。 二、问题分析 出现这种问题的原因:是当前的maven工程没有能够成功的识…

汕头网站建设方法港北网站建设

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 多线程向来是面试的重灾…

简述电子商务的概念优化设计方案

技术背景 一般情况下我们会选择使用明文形式来存储数据,如json、txt、csv等等。如果是需要压缩率较高的存储格式,还可以选择使用hdf5或者npz等格式。还有一种比较紧凑的数据存储格式,就是直接按照二进制格式存储。这种格式下,存储…

网站关键词如何快速上首页wordpress远程下载

目录 vue2的设置方法 vue3的设置方法 1.vue3兼容vue2的写法 2.vue3没有使用setup语法糖 3.vue3的setup会自动生成name 4.使用插件 设置name的用处&#xff1a;页面缓存需要识别页面的唯一name属性才可以缓存 vue2的设置方法 <script>export default {name: "…

网站开发问题网店运营推广网站

1.首先需要使用 composer 在命令行安装最新版本的 intervention/image &#xff1a; composer require intervention/image2.注册服务提供者及别名&#xff08;Laravel 版本 ≤ 5.4&#xff09; 如果你的 laravel 版本小于或等于 5.4&#xff0c;安装后需要注册服务提供者和别…

河北网络推广公司哈尔滨网络建设网络优化

除了前一节讨论的拉电阻基本使用方法外&#xff0c;上拉电阻也可以提升高电平的电压阈值&#xff0c;以便于前后级信号相匹配&#xff0c;比如&#xff0c;TTL逻辑电平驱动CMOS逻辑电平时&#xff0c;我们通常会添加一个上拉电阻R1&#xff0c;如下图所示&#xff1a;But Why&a…

旅游网站结构图建设一个货架网站

https://mastergo.com/files/home 这个网站是一个设计图片的网站 ui设计方面的网站 有很多优秀的资源 比如App设计 可以直接用的图片 和设计模板 也可以像ps 一样 设计自己的图片或者ui图 适合前端和ui开发者使用 可以丰富自己的审美观

怎么做装修网站平台代理公司注册要提供什么资料

在此博客中&#xff0c;我将解释如何为您的Mule CloudHub应用程序启用AWS Cloudwatch日志 。 AWS提供了Cloudwatch Logs Services&#xff0c;以便您可以更好地管理日志。 它比松散便宜。 由于cloudhub会自动翻转超过100 MB的日志&#xff0c;因此我们需要一种机制来更有效地管…