C#并发编程经典实例 [美]Stephen Cleary 著 学习笔记

1.并发:同时做多件事情。

2.多线程:并发的一种形式,它采用多个线程来执行程序。多线程是并发的一种形式,但不是唯一的形式。

3.线程池存放任务的队列,这个队列能够根据需要自行调整。相应地,线程池产生了另一个重要的并发形式:并发处理。并发处理:把正在执行的大量的任务分割成小块,分配给多个同时运行的线程。

4.异步编程:并发的一种形式,它采用future模式或回调(callback)机制,以避免产生不必要的线程。

5.异步编程的核心理念是异步操作:启动了的操作将会在一段时间后完成。

6.响应式编程:一种声明式的编程模式,程序在该模式中对事件做出响应。

7.异步编程有两大好处:第一个好处是对于面向终端用户的GUI程序:异步编程提高了响应能力。第二个好处是对于服务器端应用:异步编程实现了可扩展性 。

8.现代的异步.NET程序使用两个关键字:async和await。

9.并行的形式有两种:数据并行(data parallelism)和任务并行(task parallelism)。

10.数据流网格的基本组成单元是数据流快(dataflow block)

时间: 2024-08-11 09:51:49

C#并发编程经典实例 [美]Stephen Cleary 著 学习笔记的相关文章

《C#并发编程经典实例》笔记

1.前言 2.开宗明义 3.开发原则和要点 (1)并发编程概述 (2)异步编程基础 (3)并行开发的基础 (4)测试技巧 (5)集合 (6)函数式OOP (7)同步 1.前言 最近趁着项目的一段平稳期研读了不少书籍,其中<C#并发编程经典实例>给我的印象还是比较深刻的.当然,这可能是由于近段日子看的书大多嘴炮大于实际,如<Head First设计模式><Cracking the coding interview>等,所以陡然见到一本打着"实例"旗号的

c#并发编程经典实例文摘

第1章 并发编程概述 1.1 并发编程简介 并发: 多线程(包括并行处理) 异步编程(异步操作)程序启动一个操作,而该操作将会在一段时间后完成 响应时编程(异步事件)可以没有一个实际的开始,可以在任何时间发生,并且可以发生多次

《Java并发编程实战》第二章 线程安全性 读书笔记

一.什么是线程安全性 编写线程安全的代码 核心在于要对状态访问操作进行管理. 共享,可变的状态的访问 - 前者表示多个线程访问, 后者声明周期内发生改变. 线程安全性 核心概念是正确性.某个类的行为与其规范完全一致. 多个线程同时操作共享的变量,造成线程安全性问题. * 编写线程安全性代码的三种方法: 不在线程之间共享该状态变量 将状态变量修改为不可变的变量 在访问状态变量时使用同步 Java同步机制工具: synchronized volatile类型变量 显示锁(Explicit Lock

《Linux多线程服务端编程——使用muduo C++网络库》学习笔记

第一章 线程安全的对象生命期管理 第二章 线程同步精要 第三章 多线程服务器的适用场合与常用编程模型 第四章 C++多线程系统编程精要 1.(P84)11个常用的最基本Pthreads函数: 2个:线程的创建和等待结束(join).封装为muduo::Thread 4个:mutex的创建.销毁.加锁.解锁.封装为muduo::MutexLock 5个:条件变量的创建.销毁.等待.通知.广播.muduo::Condition 2.(P85)不推荐使用读写锁的原因是它往往造成提高性能的错觉(允许多个

JAVA编程思想(第四版)学习笔记----11.5 List,11.6迭代器

Collection类的层次结构图(来源与网络)如下所示: 接口:Iterator<T> public interface Iterable<T> Iterable<T>接口作为超级接口,此接口中只有一个返回类型为Iterable<t> 的iterator()方法,实现这个接口允许对象成为 "foreach" 语句的目标. 接口:Collection<T> public interface Collection<E>

C#入门经典(第五版)学习笔记(三)

---------------面向对象编程简介--------------- UML表示方法: 1)方框上中下三分 2)上框写类名 3)中框写属性和字段,例如:+Description:string +公共成员-私有成员  Description成员名  string成员类型 4)下框写方法,例如:+AddSugar(in amount:byte):byte +公共成员-私有成员 in/out/inout数据流方向 5)静态成员带下划线 6)接口:画在类名边,棒棒糖型 7)继承:从子类向父类的箭

JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)

switch语句和if-else语句不同,switch语句可以有多个可能的执行路径.在第四版java编程思想介绍switch语句的语法格式时写到: switch (integral-selector) { case integral-value1: statement; break; case integral-value12: statement; break; default: statement; } 其中integral-selector(整数选择因子)是一个能产生整数值的表达式.并且说

Scala中链式调用风格的实现代码实战及其在Spark编程中的广泛运用之Scala学习笔记-41

package com.leegh.parameterization /** * @author Guohui Li *///由于breathe返回的是this,scala将返回类型推断为Animal,而由于Animal没有eat方法//class Animal { def breathe = this }//class Cat extends Animal { def eat = this } class Animal { def breathe: this.type = this }clas

C#入门经典(第五版)学习笔记(四)

---------------集合.比较和转换--------------- C#中的数组是作为System.Array类的实例实现的,它们是集合类(Collection Classes)中的一种类型. 集合类一般用于处理对象列表,大多通过实现System.Collections名称空间中的接口而获得的 System.Collections名称空间中的几个接口提供了基本的集合功能: 1)IEnumerable可以迭代集合中的项. 2)ICollection(继承于IEnumerable)可以获取