造成开销的操作包括:
1. 线程之间的协调(例如:锁、触发信号以及内存同步等)
2. 增加的上下文切换
3. 线程的创建和销毁
4. 线程的调度
一、对性能的思考
1 性能与可伸缩性
运行速度涉及以下两个指标:
某个指定的任务单元需要“多快”才能处理完成、计算资源一定的情况下,能完成“多少”工作。
可伸缩性:
当增加计算资源时(例如:CPU、内存、存储容器或...
分类:
编程语言 时间:
2014-06-01 09:56:52
阅读次数:
271
一、云计算概述
云计算到底是什么呢?在这个问题上,可谓众说纷纭。比如,在维基百科上的定义是“云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算”;著名咨询机构
Gartner 将云计算定义为“云计算是利用互联网技术来将庞大且可伸缩的IT能力集合起来作为...
分类:
其他好文 时间:
2014-05-25 20:34:18
阅读次数:
903
一、什么是FastCGI
FastCGI是一个可伸缩、高速在HTTPserver和动态脚本语言之间的一个通信接口.大多数的HTTPserver都支持FastCGI,比如:NginxAapachelighttpd等..FastCGI被很多语言所支持。其中就有PHP.
二、Nginx+FastCGI运行原理
(1)Nginx不支持对外程序的直接调用或者解析..
分类:
Web程序 时间:
2014-05-24 17:04:15
阅读次数:
342
一、FastCGI是什么?FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、..
分类:
其他好文 时间:
2014-05-24 16:43:44
阅读次数:
204
XAML定义 XAML是一种相对简单、通用的声明式编程语言,它适合于构建和初始化.NET对象。
XAML仅仅是一种使用.NET
API的方式,把它与HTML、可伸缩向量图形(SVG)或其他特定领域的格式或语言作比较是完全错误的。XAML由一些规则(告诉解析器和编译器如何处
理XML)和一些关键字.....
分类:
其他好文 时间:
2014-05-23 10:17:46
阅读次数:
373
为了无阻塞地实现并发通信及处理,设计了一种流水线线程池模式。流水线结构保证了各个客户工作在大粒度上并行化,线程池技术保证了处理器资源的最大利用,可以显著提高系统的吞吐能力。另一个附加好处,是可以让VIP获得高级优先级。...
分类:
其他好文 时间:
2014-05-22 10:14:58
阅读次数:
356
目录简介准备安装工程的创建简介1.网易开源,免费,业(diao)界(si)良(fu)心(li)呀,^.^2.游戏服务器框架(当然也可以用于web服务器)3.高性能、高可伸缩、分布式,多进程4.支持大多数主流平台的客户端,并提供了开发库5.完整的文档,详细的demo(包含了多数客户端的,如果大家有其他...
引言
在之前的《创建无阻塞的异步调用》中,已经介绍过异步调用的编写步骤和实施原理。异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能、可伸缩应用程序的关键。在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作。我们通常使用异步完成许多计算型、IO型的复杂、耗时操作....
分类:
编程语言 时间:
2014-05-22 02:17:56
阅读次数:
384
Subsections
线程安全(Thread safety)
锁(lock)
共享对象
对象组合
基础构建模块
任务执行
取消和关闭
线程池的使用
性能与可伸缩性
并发程序的测试
显示锁
原子变量和非阻塞同步机制
一、线程安全(Thread safety)
无论何时,只要多于一个线程访问给定的状态变量。而且其中某个线程会写入该变量,此时必须使用同...
分类:
编程语言 时间:
2014-05-21 17:11:45
阅读次数:
500
J2EE是一系列技术标准所组成的平台,包括:Applet- Java AppletEJB-
企业级JavaBean(Enterprise Java
Beans)J2EE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复...
分类:
其他好文 时间:
2014-05-21 04:42:35
阅读次数:
241