多核程序设计及多线程编程技术详解

版权申诉
5星 · 超过95%的资源 1 下载量 113 浏览量 更新于2024-07-06 收藏 79KB PDF 举报
多核程序设计知识点 多核程序设计是计算机科学中的一门重要学科,涉及到操作系统、计算机体系结构、编程语言等领域。下面是多核程序设计的知识点总结: 一、线程映射模型 * 多对一模型:多个用户级线程映射到一个内核级线程,线程管理在用户空间实现,效率高,但当一个线程因调用系统调用被阻塞时,整个进程被阻塞。 * 一对一模型:每个用户级线程映射到一个内核级线程,当一个线程阻塞时,其他线程仍然可以运行。 * 多对多模型:将m个用户级线程映射到n个内核级线程,m≥n,用户可以创建所需要的用户级线程,通过分配适当数目的内核级线程获得并发执行的优势并节省系统资源。 二、Windows多线程程序设计常用函数 * ResumeThread():恢复被挂起线程的运行 * TerminateThread():终止线程运行 * InitializeCriticalSection():初始化线程临界区 * CreateMutex():创建线程互斥量 * CreateEvent():创建线程事件 三、Linux多线程程序设计常用函数 * pthread_create():创建线程 * pthread_join():线程阻塞(同步) * pthread_attr_init():线程属性初始化 * pthread_cancel():线程取消 * sem_getvalue():获得线程信号量值 四、并行程序性能优化技术 * 减少通信量,提高通信粒度 * 全局通信尽量利用高效集合通信算法 * 挖掘算法的并行度,减少CPU空闲等待 * 负载平衡,通信、计算的重叠 * 通过引入重复计算来减少通信,即以计算换通信 五、多线程机制的优点 * 创建一个线程比创建一个进程的代价要小 * 线程的切换比进程间的切换代价小 * 充分利用多处理器 * 数据共享 * 快速响应特性 * 可以使程序更加模块化,减少程序逻辑 六、线程和进程的关系 * 进程是一组离散的执行程序任务集合 * 线程是进程上下文中执行的代码序列,又被称为轻量级进程 * 进程中可包含一个或多个线程 七、同步机制 * 由于线程共享同一进程的内存空间,多个线程可能需要同时访问同一个数据,如果没有正确的保护措施,对共享数据的访问会造成数据的不一致和错误 * Windows环境下常用的全局变量、事件和临界区三种同步机制 多核程序设计 涉及到线程映射模型、多线程程序设计常用函数、并行程序性能优化技术、多线程机制的优点、线程和进程的关系、同步机制等方面的知识点。