??
什么是分布式系统
分布式系统有多个含义:
1)表示计算机科学的一个研究领域,研究方向。这个层面的分布式系统比较学术,不是本文讨论的对象。
2)工程领域的实际使用的分布式系统。分布式系统是互联网应用的基石,是底层的支撑平台。本文讲的分布式系统指这个层面。
互联网应用的特点是:高并发,海量数据。互联网应用的用户数是没有上限的(取决于其开放特性),这也是和传统应用的本质区别。高并...
分类:
其他好文 时间:
2014-06-19 10:08:44
阅读次数:
399
相对于使用进程实现并发,用线程的实现更加轻量。每个线程都是独立的逻辑流。线程是CPU上独立调度运行的最小单位,而进程是资源分配的单位。当然这是在微内核的操作系统上说的,简言之这种操作系统的内核是只提供最基本的OS服务,更多参看点击打开链接
每个线程有它自己的线程上下文,包括一个唯一的线程ID(linux上实现为unsigned long),栈,栈指针,程序计数器、通用目的寄存器和条件码,...
分类:
编程语言 时间:
2014-06-16 12:28:38
阅读次数:
296
首先是fork()函数,比较清晰的解释可以参考http://blog.csdn.net/lingdxuyan/article/details/4993883和http://www.oschina.net/question/195301_62902...
分类:
系统相关 时间:
2014-06-16 12:19:31
阅读次数:
248
进程线程分配方式
简述下常见的进程和线程分配方式:(好吧,我只是举几个例子作为笔记。。。并发的水太深了,不敢妄谈。。。)
1、进程线程预分配
简言之,当I/O开销大于计算开销且并发量较大时,为了节省每次都要创建和销毁进程和线程的开销。可以在请求到达前预先进行分配。
2、进程线程延迟分配
预分配节省了处理时的负担,但操作系统管理这些进程线程也会带来一定的开销。由此,有个折中的方法是,当某个...
分类:
编程语言 时间:
2014-06-16 11:45:38
阅读次数:
480
(本文由 blog博主Caoer(草儿)原创,此处为转载。 )
java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建 java.util.concurrent
的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提...
分类:
编程语言 时间:
2014-06-16 07:39:54
阅读次数:
314
今天开始对之前所能够想到的一些问题进行一些理论解决方案的研究。首先,1000万的用户可以造成多么大的并发数量,应该是可以被计算出来的。我通过百度进行了一些搜索,关于用户数量与并发数的关系。得到了一些资料,主要参考了一篇名为《并?发?用?户?数?、?吞?吐?量?、?思?考?时?间?的?计?算?公?式》...
分类:
其他好文 时间:
2014-06-16 06:17:20
阅读次数:
10431
冯·诺伊曼结构(von Neumann
architecture),也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的计算机设计概念结构。本词描述的是一种实现通用图灵机的计算设备,以及一种相对于并行计算的串行式结构参考模型(referential
model)。此结构隐约指导了将存储设...
分类:
其他好文 时间:
2014-06-13 16:32:39
阅读次数:
235
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面...
分类:
数据库 时间:
2014-06-13 16:21:27
阅读次数:
477
并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生.并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生。并行(pa...
分类:
其他好文 时间:
2014-06-12 06:48:59
阅读次数:
204