- 博客(5)
- 资源 (13)
- 收藏
- 关注
转载 SMP中多线程程序的性能衰退现象之False Sharing
这次我们来聊一聊多核CPU运行多线程程序时,可能会产生的一种性能衰退现象——False Sharing. 貌似很高大上?No No No,我相信看完这篇文章之后你会完全理解False Sharing,并且能够在设计和编写多线程程序的时候意识到并完美解决这个问题。 OK,我们开始吧。首先,False Sharing的产生需要几个特定条件:CPU具有多个核心,其上运行着的同一个程序的多个线程分别运行在
2016-11-29 22:35:47 857
翻译 C++并发编程
C++11相比之前的版本具有很多优秀的特性,比如lambda表达式,初始化列表,右值引用,自动类型推导。同时,C++11标准库现在也支持正则表达式、智能指针、多线程库。但现代C++在并行和异步计算方面依然较为薄弱,特别是与C#等语言相比。异步的需要为什么需要支持异步呢?多核处理器几乎无处不在、并在云中分布的核,使得计算机体系结构变得越来越并行化和分布式化。软件程序往往越来越多的由使用了位于单个机器或
2016-11-24 23:27:32 8007 3
转载 学习何时以及如何使用 POSIX AIO API
AIO 简介Linux 异步 I/O 是 Linux 内核中提供的一个相当新的增强。它是 2.6 版本内核的一个标准特性,但是我们在 2.4 版本内核的补丁中也可以找到它。AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等待任何操作完成。稍后或在接收到 I/O 操作完成的通知时,进程就可以检索 I/O 操作的结果。I/O 模型在深入介绍 AIO API 之前,让我们先来探索一下
2016-11-16 21:26:04 963
转载 【转】浅谈对协程的理解
我心中的协程最近在研究网络服务框架方面的东西,发现了一个神奇的东西-协程。一句话说明什么是线程:协程是一种用户态的轻量级线程。一句话并不能完全概括协程的全部,但是起码能让我们对协程这个概念有一个基本的印象。从硬件发展来看,从最初的单核单CPU,到单核多CPU,多核多CPU,似乎已经到了极限了,但是单核CPU性能却还在不断提升。server端也在不断的发展变化。如果将程序分为IO密集型应用和CPU密集
2016-11-16 15:10:10 836
转载 在Linux下判断系统当前是否开启了超线程
在判断当前是否开启了超线程之前,需要先判断另外几个数据:1,物理CPU个数:123[root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniqphysical id : 0 physical id : 1
2016-11-11 11:33:23 10775 2
protobuf-2.4.1
2018-01-25
很全的驱动开发工具大全
2009-06-19
MFC有界面RSA加密解密算法实现
2009-05-22
学生成绩单存取(MFC单文档文件的保存和打开的两种方法)
2008-12-30
司机售票员PV操作MFC程序模拟
2008-12-30
基于对话框的MFC程序加载位图为背景图案
2008-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人