1.
什么是GCD
全称是Grand Central Dispatch,可译为“牛X的中枢调度器”
纯C语言,提供了非常多强大的函数
2.
GCD的优势
GCD是苹果公司为多核的并行运算提出的解决方案
GCD会自动利用更多的CPU内核(比如双核、四核)
GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)
程序员只需要告诉GCD想要执行什么任务,不需要编写任何线...
分类:
其他好文 时间:
2015-05-11 10:56:01
阅读次数:
192
上一节中,我转载他人的文章,对多线程的理论知识进行了大致的描述,如果想了解的话,请点击这里。接下来的几节内容,我将一一介绍各自的使用。
1. NSThread相关的主要方法:
创建、启动线程
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
[th...
分类:
其他好文 时间:
2015-05-10 11:32:50
阅读次数:
166
此文为个人学习《C#并行编程高级教程》的笔记,总结并调试了一些文章中的代码示例。 在以后开发过程中可以加以运用。
对于并行任务,与其相关紧密的就是对一些共享资源,数据结构的并行访问。经常要做的就是对一些队列进行加锁-解锁,然后执行类似插入,删除等等互斥操作。 .NetFramework 4.0 中提供了一些封装好的支持并行操作数据容器,可以减少并行编程的复杂程度。
基本信息...
中文名,线程构建模块外文名Thread Building Blocks缩写TBB开发intel目录1线程构建模块2黑体亮温3斜交载重轮胎4串联球轴承1线程构建模块编辑TBB,Thread Building Blocks,线程构建模块,是Intel公司开发的并行编程开发的工具。OSCON 上,Inte...
分类:
其他好文 时间:
2015-05-07 23:50:32
阅读次数:
222
在多核的硬件结构中,如果要充分发挥硬件的性能,必须采用多线程(或多进程)执行,以提高CPU的利用率。多核系统的编程模型和多个CPU的SMP系统的编程模型是一致的,都属于共享存储的编程模型;同时,多核环境中也可以使用的分布式编程模型。目前,多核并行编程方法可以分为以下四类:基于Raw Thread A...
分类:
其他好文 时间:
2015-05-05 08:46:29
阅读次数:
155
接上篇使用RCU技术实现读写线程无锁,在没有GC机制的语言中,要实现Lock free的算法,就免不了要自己处理内存回收的问题。
Hazard Pointer是另一种处理这个问题的算法,而且相比起来不但简单,功能也很强大。锁无关的数据结构与Hazard指针中讲得很好,Wikipedia Hazard pointer也描述得比较清楚,所以我这里就不讲那么细了。
一个简单的实现可以参考我的gith...
分类:
其他好文 时间:
2015-05-03 22:11:14
阅读次数:
158
近在读《深入理解并行编程》,是C的,前面的200页感觉是通用的思想,前面提到有一个计数器的问题,于是就自己想着用java来实现下.中间有遇到问题: 1.假设只有两个线程,一读一写,是否需要给这个资源加锁? 2.线程状态的改变先上代码再说吧: public class Test { pr...
分类:
编程语言 时间:
2015-04-22 13:04:05
阅读次数:
147
此文为个人学习C#并行编程高级教程的笔记,总结并调试了一些文章中的代码示例。 在以后开发过程中可以加以利用。...
介绍
CUDA 是由NVIDIA(英伟达)公司开发的一个并行计算平台,并行编程模型。它通过控制GPU(图形计算单元,graphics processing unit)的计算能力,可以戏剧性地提高计算性能。
CUDA的设计思想是:提供一个比如C之类的标准语言的小的扩展集,来直接实现并行算法。
有了CUDA C/C++,程序员就可以专注于并行算法的实现,而不是去担心他们写出来的程序的加速时间不够好...
分类:
其他好文 时间:
2015-04-21 22:48:08
阅读次数:
155
本文内容 并行编程 数据并行 最近,对多线程编程,并行编程,异步编程,这三个概念有点晕了,怎么突然觉得,自己有点不明白这三者之间有什么联系和区别了呢? 因此,回顾了一下个人经历,屡屡思路~我刚接触计算机时,还是学校的 DOS 和 win 3.x,之后,学校换了 Windows 95,再之后,我有自己...
分类:
Web程序 时间:
2015-04-21 17:42:57
阅读次数:
222