18.1引言 在多线程(multithreaded,MT)出现之前,电脑程序的运行由一个执行序列组成.多线程对某些任务来说是最理想的.这些任务有以下特点:它们本质上就是异步的,需要多个并发事务,各个事务的运行顺序可以是不确定的.随机的.不可预测的.这样的编程任务可以被分成多个执行流,每个流都有一个要完成的目标.根据应用的不同,这些子任务可能都要计算出一个中间结果,用于合并得到最后的结果.运算密集型任务一般都比较容易分割为多个子任务. 由于顺序执行的程序只有一个线程在运行,它要保证做多个任务,并且…
目录 背景简述 第4章 多线程和并发 4.0 我的问题 4.1 术语 4.1.1 一个必须要先确定的思考基础 4.2 计算在时间和空间内的转换 4.2.1 delay 4.2.2 future 4.2.3 promise 4.3 简单地并行化 4.4 状态和标识 4.5 Clojure的引用类型 4.6 并发操作的分类 4.6.1 协调 4.6.2 同步 4.6.3 选用引用类型的标准 4.7 原子类型(Atom) 4.8 通知和约束 4.8.1 观察器 4.8.2 校验器 4.9 ref 4.…
目录 背景简述 第2章 函数式编程 背景简述 本人是一个自学一年Java的小菜鸡,理论上跟大多数新手的水平差不多,但我入职的新公司是要求转Clojure语言的.坊间传闻:通常情况下,最好是有一定Java的开发工作经验,再转CLojure可能容易一些.我入职后的实际经历也确实让我感受到了Clojure的自学难度略大于自学Java,遇到的困难主要与中文资料较少有关,具体为: 1 中文的面向新手的较为系统的教程材料较少,目前个人感觉最好用的还是<CLojure编程 Emerick著>这本书,网上应该…
准备:今天拿笔记本装了mysql,这样就能在不同地方用其他电脑远程访问同一个数据库了. python安装MySQLdb模块:http://www.codegood.com/downloads. 21.1 介绍 本章的主题是如何在大型项目中使用关系型数据库.本章对数据库知识和SQL语言不做介绍,本章从一个Python应用程序开始,了解在Python框架下,如何将数据保存到数据库,如何将数据从数据库中取出来."在Python世界里,无需怀疑,与数据库协同工作已经几乎是所有应用程序的核心部分了.&qu…
在进行网络编程之前,先对网络以及互联网协议做一个了解. 推荐阮一峰的博客:(感谢) http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html --再去看一遍先-- --看完了-- 16.1引言 客户端.服务器架构 服务器是一个软件或者硬件,用来想一个或多个客户端提供所需要的“服务”.其中,硬件是指打印机.文件服务器等.软件服务器提供的服务主要是程序的运行.数据的发送与接收.合并.升级.或其他的程序或数据操…
续:第1章 WCF基础(1) 元数据交换 服务有两种方案可以发布自己的元数据.一种是基于HTTP-GET协议提供元数据, 另一种则是后面将要讨论的使用专门的终结点的方式.WCF能够为服务自动提供基于HTTPGET的元数据,但需要显式地添加服务行为( Behavior)以支持这一功能.本书后面的章节会介绍行为的相关知识.现在,我们只需要知道行为属于服务的本地特性,例如是否需要基于HTTP-GET交换元数据, 就是一种服务行为.我们可以通过编程方式或管理方式添加行为.在例 1 - 10 演示的宿主应…
第1章 WCF基础 本章主要介绍WCF的基本概念.构建模块以及WCF体系架构,以指导读者构建一个简单的WCF服务.从本章的内容中,我们可以了解到WCF的基本术语,包括地址(Address).绑定(Binding).契约(Contract)和终结点(Endpoint):了解如何托管服务,如何编写客户端代码:了解WCF的相关主题,诸如进程内托管(In-Proc Hosting)以及可靠性的实现.即使你已经熟知WCF的基本概念,仍然建议你快速浏览本章的内容,它不仅能够巩固你的已有知识,而且本章介绍的一…
操作重载诸如 C++ 和 C# 等编程语言都支持方法重载,即允许具有相同名称的两个方法可以定义不同的参数.例如,如下的 C# 接口就是有效的定义: interface ICalculator { int Add(int arg1,int arg2); double Add(double arg1,double arg2); } 然而,基于 WSDL 的操作却不支持操作重载.因此,在编译如下的契约定义时,装载服务宿主就会抛出 InvalidOperationException异常: // 无效的契…
18.1 引言 *终端I/O的用途很广泛,包括用于终端.计算机之间的直接连线.调制解调器以及打印机等等,所以终端I/O系统非常复杂 18.2 综述 *终端I/O有两种不同的工作模式: (1)规范模式输入处理(Canonical mode input processing) (2)非规范模式输入处理(Noncanonical mode input processing) 18.3 特殊输入字符 *CR \r 回车符.不能更改此字符.以规范模式进行输入时识别此字符.当设置了ICANON(规范模式)和…
基础知识 继承机制定义了父子(parent/child)关系.父类(parent)定义了所有子类(children)共通的共有接口(public interface)和私有实现(private implementation).每个子类都可以增加或覆盖(override)继承而来的东西,以实现其自身独特的行为.在C++中,父类被称为基类(base class),子类被称为(derive class).父类和子类之间的关系则称为继承体系(inheritance hierarchy). 多态:让基类的…