欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2009并行计算与多核程序设计09-10windows多线程编程.ppt

    • 资源ID:80596892       资源大小:5.28MB        全文页数:88页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2009并行计算与多核程序设计09-10windows多线程编程.ppt

    并行计算与多核程序设计并行计算与多核程序设计理论课理论课9-10 Windows多多线程线程陈天洲,施青松,胡威tzchen,zjsqs,2009年12月9日,玉泉校区曹西1011浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ APIp12月4日消息pLarrabee芯片及相关软件开发未达到项目预期,它不会成为消费类产品pIntel会继续从事独立图形芯片的研发,具体打算要到2010年再行宣布2浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 2n低于正常线程:THREAD-PRIORITY-BELOW-NORMAL1n正常线程:THREAD-PRIORITY-NORMAL0n高于正常线程:THREAD-PRIORITY-ABOVENORMAL-1n关键时间:THREAD-PRIORITY-TIMECRITICAL-1514浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ Program is EndpWaitForSingleObjectnWaitsuntilthespecifiedobjectisinthesignaledstateorthetime-outintervalelapsesvoidWriteThread(LPVOIDparam)coutWritingendl;SetEvent(evRead);intmain(intargc,char*argv)evRead=CreateEvent(NULL,FALSE,FALSE,NULL);evFin=CreateEvent(NULL,FALSE,FALSE,NULL);_beginthread(ReadThread,0,NULL);_beginthread(WriteThread,0,NULL);WaitForSingleObject(evFinish,INFINITE);coutTheProgramisEndendl;return0;28浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 例子例子#includestdafx.h#include#include#defineTHREAD_INSTANCE_NUMBER3DWORDfoo(void*pData)intThreadNumberTemp=(*(int*)pData);HANDLEhSemaphore;coutfoo:ThreadNumberTempisrunning!endl;if(hSemaphore=OpenSemaphore(SEMAPHORE_ALL_ACCESS,FALSE,Semaphore.Test)=NULL)coutOpenSemaphoreerror!endl;coutfooThreadNumberTempgetsthesemaphoreendl;ReleaseSemaphore(hSemaphore,1,NULL);CloseHandle(hSemaphore);return0;40浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ Framework线程线程p做通用语言运行时(CommonLanguageRuntime,CLR)n在CLR中程序是以中间代码的形式执行的n在概念上和Java的字节码相似p.NET框架对线程提供了广泛的支持58浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ Framework线程同步线程同步p.NET应用程序是基于.NET框架的nCLR是.NET框架的重要组成部分nCRL是支持多线程的n所有.NET应用程序都可以实现多线程p可使用VB.NET或者C#.NET框架的语言来设计多线程程序pSystem.Threading命名空间下包含了在.NET框架中进行多线程编程所需要的类,因此在程序中首先要声明程序位于System.Threading命名空间。59浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ Framework线程同步的实现线程同步的实现p创建辅助(或从属)线程的第一个步骤是创建ThreadStart代理,指定要由该线程执行的线程函数。然后将ThreadStart代理传递给Thread类的构造函数。nThreadStartstarter=newThreadStart(MyFunction);Threadt=newThread(starter);t.Start();p线程创建好后,可以使用Thread类下的方法对线程进行控制:Resume 继续已挂起的线程。Sleep 已重载。将当前线程阻塞指定的毫秒数。Suspend 挂起线程,或者如果线程已挂起,则不起作用。Abort 调用此方法通常会终止线程。60浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ p.NET框架支持以下五种级别的线程优先级:n最高(Highest)n普通上(AboveNormal)n普通(Normal)(默认级别)n普通下(BelowNormal)n最低(Lowest)63浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ Draft,Standard for Programming Language C+Working Draft,Standard for Programming Language C+Doc No:N2857=09-0047Date:2009-03-23p1.10Multi-threadedexecutionsanddataracesp17节以后均为Library79浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ native_handle_type;/See 30.2.3/construct/copy/destroy:thread();templateexplicitthread(Ff);templatethread(F&f,Args&.args);thread();thread(constthread&)=delete;thread(thread&);thread&operator=(constthread&)=delete;thread&operator=(thread&);/members:voidswap(thread&);booljoinable()const;voidjoin();voiddetach();idget_id()const;native_handle_typenative_handle();/See 30.2.3/static members:staticunsignedhardware_concurrency();80浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ Studio调试器调试器pMSDN中给出的使用VisualStudio调试器调试线程的一些提示和一些常见的问题n在多线程代码中,使用跟踪点可以检查出程序中的许多bug。n可以使用断点筛选器将断点置于单个线程上。n如果我们通过用户界面来调试多线程应用程序可能比较困难,那么可以考虑在另一台机器上运行应用程序并使用远程调试。n可以在本机代码中使用SetThreadNameAPI或在托管代码中使用Name属性来设置线程名称。线程名称对于托管代码特别有用,因为在托管代码中无法通过线程ID来识别线程。n多线程应用程序中的死锁是一类极其严重的bug。n在调试本机代码时,可以通过在“监视”窗口或“快速监视”对话框中输入TIB查看“线程信息块”的内容。n调试本机代码时,在“监视”窗口或“快速监视”对话框中输入Err,可以查看当前线程的错误代码。n在调试使用了本机代码对托管代码调用的混合代码时,托管代码与调用它的本机代码在相同的物理线程内运行,挂起或冻结本机线程也会冻结托管代码。n我们还可以使用C运行时库(CRT)函数来调试多线程应用程序。82浙浙 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/ 江江 大大 学学 软软 硬硬 件件 协协 同同 设设 计计 实实 验验 室室http:/

    注意事项

    本文(2009并行计算与多核程序设计09-10windows多线程编程.ppt)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开