随笔分类 -  并发编程

摘要:http://state-threads.sourceforge.net/docs/st.htmlState Threads for Internet ApplicationsIntroductionState Threads is an application library which provides a foundation for writing fast and highly scalable Internet Applications on UNIX-like platforms. It combines the simplicity of the multithreaded p 阅读全文
posted @ 2014-01-22 10:32 blockcipher 阅读(406) 评论(0) 推荐(0)
摘要:http://cs.lmu.edu/~rayIntroduction to Distributed ProgrammingDefinitionsDistributed ComputingComputing on a distributed systemDistributed SystemA system of computers communicating via messages over a network so as to cooperate on a task or tasks. There's no physical shared memory in a distribute 阅读全文
posted @ 2014-01-03 09:49 blockcipher 阅读(292) 评论(0) 推荐(0)
摘要:https://www.kernel.org/doc/Documentation/memory-barriers.txt ============================ LINUX KERNEL MEMORY BARRIERS ============================By: David Howells Paul E. McKenney Contents: (*) Abstract memory access model. - Device operations. - Guarantees. (*) What are memor... 阅读全文
posted @ 2013-07-09 18:05 blockcipher 阅读(395) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/shanghaijimzhou/archive/2013/03/15.html场景 我们现在要做一个网络游戏的服务端程序,需要考虑怎么样才能承载大量的用户。在做WEB程序的时候有各种负载均衡的方案,不管是通过硬件实现还是软件实现,基本的思想就是有一个统一的入口,然后由它来分配用户到各个服务器上去。 需要考虑的问题是,即使在多线程的并发状态下,用户只能通过一个唯一的入口来分配,由此引入了Singleton模式来实现这个唯一的入口。代码:using System;using System.Collections.Generic;using System 阅读全文
posted @ 2013-06-22 21:14 blockcipher 阅读(490) 评论(0) 推荐(0)
摘要:#pragma simd该编译指示(SIMD)是12.0编译器最新提供的功能。他可以强制性的让编译器做自动并行化。 对于其他编译指示比如#pragma ivdep来说, 如果编译器编译时发现用户提供的编译指示条件不满足, 那么编译器是不会根据编译指示来进行自动向量化的。也就是说, 编译器实际上还是会进行编译时的依赖关系检查。 而对于#pargam simd来说, 无论编译时条件如何, 编译器总是会进行自动向量化。这种情况下, 用户需要自己去保证被向量化的循环上语义的正确性, 需要自己保证被向量化变量之间的依赖关系的正确性。我们用一个例子来说明编译器的行为区别。File vec5.cvoid v 阅读全文
posted @ 2010-09-17 07:06 blockcipher 阅读(2310) 评论(0) 推荐(0)
摘要:最近Intel新发布的产品Intel® Parallel Studio 2011是以前Intel® Parallel Studio的升级版。除了以前的三个组件:Intel® Parallel Composer, Intel® Parallel Inspector 和Intel® Parallel Amplifier, 另外增加了一个新组件Intel® Parallel Advisor. 当然所有的组件都已增加“2011”后缀名Intel® Parallel Advisor 2011其实是被用于代码的设计阶段。一个具体的应用就 阅读全文
posted @ 2010-09-17 07:05 blockcipher 阅读(303) 评论(0) 推荐(0)
摘要:windows下进程间通信的手段有哪些?收藏摘要随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面地阐述了这些方法的特点,并加以比较和分析,希望能给读者选择通信方法提供参考。关键词进程进程通信IPC Win32 API1进程与进程通信 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个. 阅读全文
posted @ 2010-09-04 11:27 blockcipher 阅读(209) 评论(0) 推荐(0)
摘要:VC多线程编程收藏一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:voidCSingleThreadDlg::OnSleepSixSecond(){Sleep(6000);//延时6秒} 编译并运行应用程序,单击“延时6秒”按钮,你就会发现在这6秒期间程序就象“死机”一样,不在响应其它消息。为了更好地处理这种耗时的操作,我们有必要学习——多线程编程。二、多线程概述 进程和线程... 阅读全文
posted @ 2010-09-04 11:17 blockcipher 阅读(120) 评论(0) 推荐(0)
摘要:鱼还是熊掌:浅谈多进程多线程的选择关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。 经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根据实际情况来判断,哪个更加合适就是哪个好。 我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因此都是相对的,不是说一个好得不得了,另外一个差的无法忍受)。对比维度多进程多线程总结数 阅读全文
posted @ 2010-09-04 11:15 blockcipher 阅读(156) 评论(0) 推荐(0)
摘要:过堆栈调用解析多线程收藏过堆栈调用解析多线程 首先说明一下,堆是进程的全局数据内存存储区,栈是函数的局部数据内存存储区。由于大多数书籍在介绍堆或栈时,皆以堆栈泛指,因此,题目标题亦如此表述,希望读者不要混淆就是了。 初见标题,也许有人觉得奇怪,多线程和堆栈有关系吗?初学多线程,很多概念难以辨清。要全面深入理解多线程,必须对栈有十分清楚的理解。个人感觉在Windows编程中,栈的概念犹如C/C++中的指针,非常重要,但难于全面理解。市面上的书籍对堆栈的介绍或是蜻蜓点水、浮于表面;或是过于理论化,不够具体,不易理解。在这里,我以示例的形式将自己的一点学习体会写出来与大家分享。为了便于表述清楚,文章 阅读全文
posted @ 2010-09-04 10:35 blockcipher 阅读(482) 评论(0) 推荐(0)