C#并发编程之【一】并发编程简介

常见术语:
  • 并发:同时做多件事情。只要你希望 程序同时做多件事情,你就需要并发。
    例如:
  1. 终端用户程序利用并发功能,在输入数据库的同时响应 用户输入。
  2. 服务器应用利用并发,在处理第一个请求的同时响应第二个请求。

注意事项:

  1. 请区别于多线程,多线程是并发的一种形式,但不是唯一的形式,它采用多个线程来执行程序。
  2. 实际上,直接使用底层线程类型在现代程序中基本不起作用,而采用高级的抽象机制会让程序功能更加强大、效率更高。
  • 并行处理:把正在执行的大量的任务分割成小块,分配给多个同时运行的线程。(并行处理是多线程的一种,而多线程是并发的一种。)
  • 异步编程:并发的一种形式,它采用 future 模式或回调(callback)机制,以避免产生不必要的线程,其核心理念是异步操作。

注意事项:

  1. 一个 future(或 promise)类型代表一些即将完成的操作。
  2. 在 .NET 中,新版 future 类型 有 Task 和 Task< TResult >。
  3. 在老式异步编程 API 中,采用回调或事件(event),而不是 future。
  • 相应式编程:一种声明式的编程模式,程序在该模式中对事件做出响应,其核心理念是异步事件。

注意事项:

  1. 响应式编程不一定是并发的,但它与并发编程联系紧密。
  2. 响应式编程与异步编程非常类似,不过它是基于异步事件(asynchronous event)的,而不是异步操作(asynchronous operation)。
对异步编程的常见误解:
  1. 并发就是多线程:多线程只是并发编程的一种形式,在 C# 中还有很多更实用、更方便的并发编程技 术,包括异步编程、并行编程、TPL 数据流、响应式编程等。
  2. 只有大型服务器程序才需要考虑并发:服务器端的大型程序要响应大量客户端的数据请求,当然要充分考虑并发。但是桌面程序 和手机、平板等移动端应用同样需要考虑并发编程,因为它们是直接面向最终用户的,而 现在用户对使用体验的要求越来越高。程序必须能随时响应用户的操作,尤其是在后台处 理时(读写数据、与服务器通信等),这正是并发编程的目的之一。
  3. 并发编程很复杂,必须掌握很多底层技术:C# 和 .NET 提供了很多程序库,并发编程已经变得简单多了。尤其是 .NET 4.5 推出了全新 的 async 和 await 关键字,使并发编程的代码减少到了最低限度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋洋脚踝的金铃响了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值