多线程
文章平均质量分 95
gauss
这个作者很懒,什么都没留下…
展开
-
VC++中四种进程或线程同步互斥的控制方法
现在流行的进程线程同步互斥的控制机制,其实是由最原始最基本的4种方法实现的。由这4种方法组合优化就有了.Net和Java下灵活多变的,编程简便的线程进程控制手段。这4种方法具体定义如下 在《操作系统教程》ISBN 7-5053-6193-7 一书中可以找到更加详细的解释 1临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2互斥量转载 2013-01-04 22:11:38 · 321 阅读 · 0 评论 -
当析构函数遇到多线程──C++ 中线程安全的对象回调
请尽量阅读本文 PDF 版:http://www.cppblog.com/Files/Solstice/dtor_meets_mt.pdf 豆丁亦可,内容略微滞后: http://www.docin.com/p-42460300.html这里是从 word 直接粘贴过来,脚注链接都丢失了。 摘要编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身转载 2014-04-27 10:56:00 · 632 阅读 · 0 评论 -
HSHA多线程网络编程模型介绍
我在上一篇的分享《Leader/Follower多线程网络模型介绍》中详细介绍了LF多线程网络模型的原理和代码分析。它的思路是减少线程上下文切换和数据拷贝时间,通过角色转换,来提高处理效率,尤其适用于处理短暂的、原子的并且反复的动作中的事件。可能大家都比较熟悉这种常用的思路了,那就是分层。它的核心思想:通过把异步和同步分开,用异步的方式来处理底层网络问题,用同步的方式来简化应用服务流程,通过合理的转载 2014-04-27 10:48:27 · 701 阅读 · 0 评论 -
Leader/Follower多线程网络模型介绍
线程网络代码分析servernull服务器 之前分享过《轻量级web server Tornado代码分析》,介绍了目前我们采用nginx + tornado的方式搭建升级、配管、数据中心等各类服务组建客户端迭代体系。最近注意到,淘宝目前公开了其网络服务器源代码Tengine。根据官方介绍,Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需转载 2014-04-27 10:41:40 · 536 阅读 · 0 评论 -
多线程服务器的常用编程模型
本文主要讲我个人在多线程开发方面的一些粗浅经验。总结了一两种常用的线程模型,归纳了进程间通讯与线程同步的最佳实践,以期用简单规范的方式开发多线程程序。文中的“多线程服务器”是指运行在 Linux 操作系统上的独占式网络应用程序。硬件平台为 Intel x64 系列的多核 CPU,单路或双路 SMP 服务器(每台机器一共拥有四个核或八个核,十几 GB 内存),机器之间用百兆或千兆以太网连接。转载 2014-04-27 10:53:08 · 514 阅读 · 0 评论 -
将 Win32 程序移植到 Linux
首先声明开发环境。Win32程序的开发环境是VS.Net 2008,编程语言是C;Linux使用的RHEL 5.4,GCC的版本是4.1.2,编程语言也是C。然后依次说明移植的对象:数据类型/字符串处理/系统调用/套接字/进程/进程锁/线程/线程锁/信号量/事件锁/条件锁/系统服务。1. 数据类型:在开发过程中,无论哪种平台,只使用最通用的数据类型char,unsigned char,in转载 2013-01-04 22:05:31 · 416 阅读 · 0 评论 -
POSIX线程:条件变量
条件变量是 POSIX 线程结构,可以让您在遇到某些条件时“唤醒”线程。可以将它们看作是一种线程安全的信号发送。如果线程正在等待某个特定条件发生,它应该如何处理这种情况?它可以重复对互斥对象锁定和解锁,每次都会检查共享数据结构,以查找某个值。但这是在浪费时间和资源,而且这种繁忙查询的效率非常低。解决这个问题的最佳方法是使用 pthread_cond_wait() 调用来等待特殊条件发生。了解转载 2013-01-04 22:30:41 · 342 阅读 · 0 评论 -
Linux多线程Pthread学习小结
来自:http://blog.csdn.net/sunboy_2050/article/details/6063067简介POSIX thread 简称为pthread,Posix线程是一个POSIX标准线程.该标准定义内部API创建和操纵线程. 作用 线程库实行了POSIX线程标准通常称为pthreads.pthreads是最常用的POSIX系统如Linux和Unix,而转载 2013-01-04 22:03:39 · 411 阅读 · 0 评论 -
POSIX线程:API
转自:http://blog.csdn.net/dipperkun/article/details/6312607(一)线程创建与取消 1. 线程创建1.1 线程与进程相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率和转载 2013-01-04 21:59:13 · 407 阅读 · 0 评论 -
无锁数据结构(基础篇):原子核、原子性、基本类型
无锁数据结构基于两方面——原子性操作以及内存访问控制方法。本文中我话题主要涉及原子性和原子性基本类型。在开始之前,我对大家表示感谢,谢谢你们对初识无锁数据结构的热爱。看到大家对无锁话题很感兴趣,我感到很开心。我计划依据学术概念将此做成一个系列,从基础到算法,同时以 text 的形式展示 libcds 中的代码实现。但有些读者希望避开漫谈,尽快展示这些代码,以及如何利用这些库。我同意其中的一些观转载 2015-10-05 00:45:55 · 1565 阅读 · 0 评论