C#[C#] 《Concurrency in C# Cookbook》读书笔记(一)- 并发编程概述

并发编程概述

前言

  大家平时在耳边听说部分有关高性能、并发和相互等名词,并且很四个人都对现身编程有一些误会。

  误解 1:并发就是多线程?
  答:二十四线程只然而是出新编程的里边一种样式而已。并发编程的项目众多:如异步、并行、TPL
数据流和响应式编程等。
  误解 2:只有大型服务器程序才需求考虑高并发?
  答:我们平昔常用的桌面应用、手机移动端应用和 B/S
应用等都应该考虑选用并发编程,现代用户的生存质量普遍进步,带宽也越来越大,用户的渴求也愈来愈苛刻。用户的伸手必须取得及时高效的响应,不可能满意如此须求的营业所,用户的收敛也是肯定的。
  误解3:并发编程很复杂,只是高手的专利?
C#,  答:No!No!No! 在 long long
ago,也许说的很对,那时候也真的是尖端程序员的大手笔。但到了现在,从 .NET
4.5 引入的 async/await 关键字,编写异步代码已经变成一件很自在的作业了。

 

1.1 并发编程简介

  1.并发:同时做多件工作。

  – 利用并发,在对 DB 举行读写操作的还要也可以响应用户的输入;
  – 利用并发,服务器可以而且处理多少个请求;
  – 假设你愿意编写的先后可以而且做多件业务,你就须要拔取并发技术。

 

  2.多线程:并发的一种样式,接纳多个线程来执行顺序。
  – 三十二线程只是出现的一种样式,不是绝无仅有方式。大家从 .NET 4.5
初阶就相应运用更高级的虚幻机制让程序变得尤为有力、功能更高。

  

  【注意】一旦你输入 new Thread(),表明项目中的代码已经过时了。

 

  3.并行处理(并行编程):把正在实践的汪洋的职责分割成小块,分配给同时运转的线程。

  –线程池中要求利用三多线程的技术,它存放着职责的系列,并且那一个队列可以基于须要活动调整。相应地,发生了另一种并发格局:并行处理。
  – 希望电脑的利用率最大化,通过多线程来落到实处并行处理。现代个人 PC
的 CPU 动不动就 4
核以上的,要是只用其中一个核来执行职责,其余核空闲待命中,岂不是浪费资源。
  –
通过并行处理,把义务划分成小块,并分配给多个线程,让她们在区其余中坚上独立运作。
  – 并行处理是八线程中的一种,四线程是出现的一种。

 

  4.异步编程:并发的一种样式,采取 future
格局或回调(callback)机制,防止止生出不必要的线程。
  –
异步编程的要旨怀念是异步操作:启动了的操作将会在一段时间后已毕。该操作正在执行时,不会堵塞原来的线程。启动了改操作的线程,可以继续执行其余职务。当操作完毕时(方法调用落成),会文告它的
future,或者调用回调函数文告顺序。

 

  5.响应式编程:一种声明式的编程方式,程序在该情势中对时间做出响应。
  –
和异步编程不一致的是,异步编程基于异步操作,它依据的是异步事件。异步事件可以没有一个其实的“开始”,可以在此外时刻,并且可以发生频仍,如用户输入。
  –
如果把程序作为一个强有力的状态机,则该程序的行事可就是它对一四种事件所做出的响应,即每接触一个风云就更新四回状态。响应式编程不肯定是出新的,但在考虑并发的时候是亟需把它一同啄磨进去的。

 

 

 


【博主】骨折仔

【原文】http://www.cnblogs.com/liqingwen/p/7206210.html

【参考】《Concurrency in C# Cookbook》

 

相关文章