Windows多线程基础讲解(第一篇)

本文介绍了Windows环境下多线程的基础知识,并通过一个OpenMP测试展示了在多核CPU上如何实现并行执行。在单核CPU中,线程由CPU按规则依次调度,而在多核环境下,多个线程可以同时在不同核心上运行,提高效率。
摘要由CSDN通过智能技术生成
Windows多线程编程是现代软件技术中一个很重要的环节。当然,要弄懂多线程,这肯定要牵涉到多进程;那么,要了解多进程,就要涉及操作系统。
   (1)单CPU下的多线程
  在没有出现多核CPU之前,我们的计算资源是唯一的。如果系统有多个任务要处理的话,那么就需要按照某种规则依次调度这些任务进行处理。那么,又是什么规则呢?可以是一些简单的调度方法,比如:
  按照优先级调度.
  按照FIFO调度.
  按照时间片调度等等.
当然,除了CPU资源外,系统中还有其他的资源需要共享(比如:内存、文件、端口等)。又如前文所提到系统中的资源是有限的,那么获取这些资源的最小单元体是什么呢,那就是进程。
  假设是两个进程之间数据传输,那么需要如果需要对共享数据进行访问需要哪些步骤呢,
  1)创建共享内存.
  2)访问共享内存->系统调用->读取数据.
  3)写入共享内存->系统调用->写入数据.

  大家看下面的代码:

  	#include <unistd.h>
  	#include <stdio.h>
  	
  	int value = 10;
  	
  	int main(int argc, char* argv[])
  	{
  	    int pid = fork();
  	    if(!pid){
  	        Value = 12;
  	        return 0;
  	    }
  	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值