Visual Studio 2010多线程编程

随着处理数据量的逐渐增大,串行单核的程序,宛如残灯缺月,无法满足运用需求。

大规模集群的出现。攻克了这一技术难题。本文旨在探讨怎样使用多CPU并行编程,关于CUDA的并行前面文章已有讲述。本文结构分为三部分。第一部分给出一段代码,模拟卖火车票的程序;第二部分对程序进行解说,方便大家交流学习;第三部分给出程序结果。

一、程序代码

二、代码解说

本程序运用两个线程对100张票进行售卖,为了保证同步。使用了相互排斥对象。

对两个线程入口函数的申明。定义火车票的总数以及卖出火车票的index,最后创建一个全局变量用于保存相互排斥对象句柄。

申请两个HANDLE变量。表示线程的指针;创建相互排斥对象,三个參数分别为:安全结构指针(NULL表示默认的安全性),相互排斥对象的初始拥有者(FALSE表示没有),相互排斥对象的名称(NULL表示默认);最后使用CreateThread创建两个线程,六个參数分别为:安全结构指针(NULL表示默认的安全性),设置初始栈的大小,入口函数指针。给新线程函数的參数。控制线程创建的标记(0表示创建后马上运行),返回值用来接收线程ID;

关闭新线程的句柄,但没有终止创建的线程;然后休眠400毫秒;

线程1入口函数,进入while循环,首先使用WaitForSingleObject(hMutex,INFINITE)请求相互排斥对象,然后运行小儿科程序,最后释放相互排斥对象,谁拥有相互排斥对象谁释放,从而保证了对全局变量的同步訪问。线程2同理。

OK,本节内容解说完成!

三、执行结果

时间: 2024-08-09 14:43:34

Visual Studio 2010多线程编程的相关文章

[入门级] visual studio 2010 mvc4开发,用ibatis作为数据库访问媒介(一)

[入门级] visual studio 2010 mvc4开发,用ibatis作为数据库访问媒介(一) Date  周二 06 一月 2015 By 钟谢伟 Tags mvc4 / asp.net 示例下载 实现编程环境 安装visual studio 2010,由于mvc4并不是visual studio 2010默认的mvc版本,因此首先需要安装visual studio 2010 service package 1,然后安装mvc4即可,在安装visual studio 2010 serv

Visual Studio 2010 C# 直接连接ACCESS数据库

根据MSDN的资料,有两种方法连接到ACCESS数据库,分别是: 一.在服务器资源管理器中连接到 Access 数据库 1.在服务器资源管理器中创建连接 二.从应用程序连接到 Access 数据库 1.以直观方式连接到 Access 数据库 ? 从服务器资源管理器创建连接 ? 从“工具箱”的“数据”选项卡创建连接 2.以编程方式连接到 Access 数据库 ? 以编程方式在应用程序和 Access 数据库之间创建连接 在Visual Studio 2010 C#中以编程方式操作Access数据库

更改Visual Studio 2010/2012/2008的主题设置

一.更改主题: 主题网站:http://studiostyl.es/ Visual Studio 2010发布也已经有一段时间了,不过安装后默认的白底的主题长时间看代码可能会感觉眼睛酸痛,况且时间长了我们也希望能够换换口味,studiostyles这家主题网站则专门给我们提供了不同口味的Visual Studio主题样式,比如评分比较高的Son of Obsidian就是一款暗色调背景的主题,安装后将不会感觉到原来自带的那种白底界面的刺眼,可以有效的辅助我们长时间编程. 下载后,你将得到扩展名为

[转]Visual Studio 2010 中安装Qt 5.1

截至目前(2013年7月12日)为止,Qt 的最高版本为Qt5.1,在该版本中已经将Qt Creator与Qt Lib集成在一个文件夹中,因此安装的时候较为方便,只需安装一个即可.因为Qt具有超强的可移植性,在同一系统平台下编写的Qt程序几乎不用更改(主要是在调试的时候更改编译链接的库即可)即可轻松运行在Windows.Linux和嵌入式平台上,在win7下主要有两种使用方式:即在Visual Studio中和利用Qt Creator直接编程,在此主要列写Visual Studio2010中安装

How To Compile Qt with Visual Studio 2010

This post is a step-by-step guide on how to compile Qt 4.x.x with MSVC 2010. Although we use Qt 4.7.1 as an example (for historical reasons), you can also find suggestions on building newer versions of Qt by MSVC 2012 and even by Intel Compiler for b

Visual Studio 2010 进行Winform打包时提示 不可恢复的生成错误 解决方案

参考:http://blog.csdn.net/xingqingxiang/article/details/7198076 在进行Visual Studio 2010 进行Winform打包时,提示 不可恢复的生成错误,很是郁闷, 在网上搜了好多方法都是不行,无奈自己找办法,无意中发现了一个解决方法,希望能与大家分享下. 解决方法如下:1.在“开始 -  运行” 中输入以下内容分三次来重新注册下Mergemod.dll. regsvr32 "C:\Program Files\Common Fil

Building Python 2.7.10 with Visual Studio 2010 or 2015 - Google Chrome

您的浏览器(Chrome 33) 需要更新.该浏览器有诸多安全漏洞,无法显示本网站的所有功能.?了解如何更新浏览器 × p-nand-q.com C++? Python? Programming? Languages? Humor? Tools? Misc? Building Python 2.7.10 with Visual Studio 2010 or 2015 7th revision, August 7, 2015.A document history can be found at t

error MSB8020: The build tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found

I want to run some programs of vs2012 on the vs2013 ,however some errors as follows: first time the error is : error LNK2038: mismatch detected for '_MSC_VER': value '1800' doesn't match value '1700' you can do that as fllows : project ->project prop

Visual Studio 2010配置Opencv2.4.9

转自: http://blog.csdn.net/huang9012/article/details/21811129 这篇文章作为OpenCV的启程篇,自然少不了先系统地介绍OpenCV开发环境的配置. 浅墨前后经历过OpenCV 2.4.6,OpenCV 2.4.7,OpenCV 2.4.8这三个版本的配置,有时候还要涉及到三个版本之间的转换,所以还是对OpenCV的配置有一定的理解的,希望自己的一点拙见能帮到大家. 还是先放出待会儿的测试用图: 1.下载和安装OpenCV SDK VS20