- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]湖南大学“超级计算机人才”培训课件内部资料第4次
第一个参数表示安全属性的设定以及继承,请参考API 手册。 第二个参数设定堆栈的大小。 第三个参数设定「执行线程函数」名称, 该函数的参数则在这里的第四个参数设定。 第五个参数如果是0,表示让执行线程立刻开始执行,如果是CREATE_SUSPENDED , 则是要求执行线程暂停执行( 那么我们必须调用ResumeThread 才能令其重新开始)。 最后一个参数是个指向DWORD 的指针,系统会把执行线程的ID 放在这里。 招聘信息: 单位:国家超算长沙中心湖南大学建设办公室 人员:4-6名,其中女性2名 待遇:助研岗位(500),另加每月500-800元的超算工作补贴 职责:要求大部分时间在超算办公室,负责接待、协调和上机辅导等工作。 要求:和导师协调沟通,取得导师和学院同意。 报名时间:下周二前(12月14日) 联系人:童钊,tongzhao1985@多线程调试与优化技术 Visual Studio 调试器调试线程 的常见问题 在多线程代码中,使用跟踪点可以检查出程序中的许多bug 可以使用断点筛选器将断点置于单个线程上 如果我们通过用户界面来调试多线程应用程序可能比较困难,那么可以考虑在另一台机器上运行应用程序并使用远程调试 可以在本机代码中使用 SetThreadName API 或在托管代码中使用 Name 属性来设置线程名称。线程名称对于托管代码特别有用,因为在托管代码中无法通过线程 ID 来识别线程。 Visual Studio 调试器调试线程 的常见问题 多线程应用程序中的死锁是一类极其严重的 bug 在调试本机代码时,可以通过在“监视”窗口或“快速监视”对话框中输入 @TIB 查看“线程信息块”的内容 调试本机代码时,在“监视”窗口或“快速监视”对话框中输入 @Err,可以查看当前线程的错误代码 在调试使用了本机代码对托管代码调用的混合代码时,托管代码与调用它的本机代码在相同的物理线程内运行,挂起或冻结本机线程也会冻结托管代码 我们还可以使用 C 运行时库 (CRT) 函数来调试多线程应用程序 调试器中的数据 DataTip : 在调试器处于中断模式下,可以查看当前范围内变量的值 、 可视化工具 通过它可以以我们指定的方式查看对象或变量的内容 变量窗口 可以通过变量窗口来查看变量、寄存器内容和表达式等 跟踪点/断点 :设置条件断点 单击Debug -Windows-Breakpoints菜单项 跟踪点/断点 :设置条件断点 右击断点并选择 “条件 ”菜单项 跟踪点/断点 :设置条件断点 右击断点并选择 “命中次数”菜单项 跟踪点/断点 :设置条件断点 右击断点并选择 “命中断点” 菜单项 跟踪点/断点 :设置条件断点 右击断点并选择 “筛选器”菜单项 线程命名 对线程命名有两种方式: 一种是在程序中使用SetThreadName 函数设置线程名称 一种是在托管代码内使用 .NET Framework 中 Thread 类中的Thread.Name属性来设置线程名称 优化工具:VTune Performance Analyzer 能收集并整理程序执行效率的相关数据 协助搜寻、找到程序执行速度的瓶颈点 通过采样,可以看到系统活动的结果 通过调用图,可以看到应用中调用-被调用之间的关系,可以洞察CPU时间到底被消耗在什么地方 通过计数器监测器,可以检查代码的某一时间片和性能计数器的关系 多核软件开发技术第二讲: Windows多线程编程及调优 主讲人:李肯立 2010年12月 本讲主要内容 Windows线程库介绍 使用win32线程API 线程执行和资源存取 多线程调试与优化技术 Windows线程库介绍 Win32 API Win32 API提供了一系列处理线程的函数接口,来向应用程序提供多线程的功能 用Win32 API直接编写应用程序要求程序员对Windows操作系统有一定的了解 直接用Win32 API编写的应用程序,程序的执行代码小,运行效率高 MFC MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。 用类库的方式将Win32 API 进行封装, 以类的方式提供给开发者 提供了对多线程的支持 MFC对同步对象作了封装 MFC具有其快速、简捷、功能强大等特点 .NET Framework .NET Framework是用于Windows的新
文档评论(0)