网站大量收购独家精品文档,联系QQ:2885784924

《智能产品》 课件 第5章智能产品中线程的本质与管理.pptx

《智能产品》 课件 第5章智能产品中线程的本质与管理.pptx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

智能产品第五章智能产品中的线程本质与管理 1

5智能产品中的线程本质与管理25.1线程与进程的概念、联系与区别5.2线程的创建和销毁5.3线程的同步和互斥、线程的调度和优化5.4智能产品中多线程的应用案例

5.1线程与进程的概念、联系与区别线程与进程的概念进程(Process):进程是计算机系统中运行的程序实例,它是系统进行资源分配和保护的基本单位。进程相对独立,进程间数据相互隔离,每个进程都代表了程序在其生命周期内的一次动态执行过程,它有其独立的虚拟地址空间,包含程序的代码段、数据段、打开的文件、设备、网络链接、堆栈信息等资源,以及程序的动态执行状态。线程(Thread):线程是进程中能独立执行的子任务,是系统进行独立调度和执行的基本单位。在引入线程之前,进程既是资源分配的基本单位,也是CPU调度的基本单位。引入线程后,线程才是CPU调度的基本单位。一个进程可以包含多个线程,线程相比进程更加轻量级,创建、撤销和线程切换的开销很小,适用于高并发的任务场景。3

5.1线程与进程的概念、联系与区别进程和线程的定义、特点和组成4

55.1线程与进程的概念、联系与区别在计算机科学中,理解线程和进程的概念及其相互关系是理解现代操作系统的基础。本节将详细解析线程与进程之间的联系与区别,并探讨在实际应用中如何根据需求选择使用线程或进程,其联系和区别如图所示图5-2进程和线程的联系和区别

5.1线程与进程的概念、联系与区别在实际应用中,选择使用线程还是进程是设计并发系统时的关键决策之一。线程和进程都是操作系统中用于实现并行处理的基本概念,但它们在资源管理、通信方式和执行效率等方面有着明显的差异。6考虑因素资源隔离程度编程难度和复杂性性能与并发要求

75.2线程的创建和销毁线程创建14253创建线程时,首先需要进行线程的初始化,需要指定线程的入口函数、传递到线程的参数、线程的属性等。1、线程的初始化线程控制块)是操作系统用来记录和管理线程状态和上下文的数据结构。在创建线程时,操作系统会为新线程创建一个TCB。3、线程块的设置线程调度器负责决定哪个线程能获得CPU的使用权。5、线程的调度每个线程有独立的栈空间用于存储局部变量、函数调用时的返回地址、寄存器值等,因此在创建时操作系统会为新线程分配一块栈内存。2、线程栈的分配当线程调度器选择该线程进行调度时,会发生上下文切换,将CPU控制权从之前运行的线程转移到这个新创建的线程。新线程正式开始执行4、线程的启动

85.2线程的创建和销毁线程的创建是多线程编程中的一个基本过程,如图5-3所示。图5-3线程创建过程

95.2线程的创建和销毁线程销毁方法线程销毁一般发生在线程完成了预先指定的任务或者遇到异常等需要提前终止。销毁线程的意义在于释放其占用的系统资源。线程可以主动退出,也可能由开发者编码,通过进程中的其他线程协调退出。(1)主动退出线程任务执行完毕调用线程退出函数(2)其他线程协调退出(3)资源回收与清理清理局部资源同步对象的释放线程栈的回收

105.3线程的同步和互斥、线程的调度和优化同步与互斥机制在多线程环境中,当多个线程需要访问共享资源时,为了保证数据的完整性和一致性,必须引入同步与互斥机制。这些机制能够确保在任何时刻只有一个线程能够访问特定资源,或者协调多个线程之间的操作顺序。实现同步与互斥的方法互斥锁(std::mutex)条件变量(std::condition_variable)读写锁(std::shared_mutex和std::shared_lock)

115.3线程的同步和互斥、线程的调度和优化同步与互斥机制为了保证线程间数据的正确性,除了正确使用同步与互斥机制外,还需要注意以下几点:最小化锁的范围尽量缩短持有锁的时间,以减少线程间的竞争。避免死锁确保线程在获取多个锁时,总是以相同的顺序获取,以防止发生死锁。优先使用高级并发容器论文就是用来进行科学研究和描述科研成果的文章,简称之为论文。它既是探讨问题进行科学研究的一种手段,又是描述科研成果进行学术交流的一种工具。仔细测试多线程程序很难调试,因此务必进行充分的测试,确保在各种并发场景下数据的正确性。

125.3线程的同步和互斥、线程的调度和优化线程调度算法线程调度是指操作系统决定哪个线程可以获得CPU资源并执行的过程。线程调度算法优点缺点先来先服务(FCFS)实现简单可能导致短作业长时间等待短作业优先(SJF)可以最小化平均等待时间需要预测执行时间,且可能导致长作业饥饿优先级调度灵活,可以根据需要设置线程的优先级可能导致低优先级的线程饥饿轮转调度(RR)公平性好,响应时间短可能导致上下文切换开销大多级队列调度可以适应不同类型的线程需求设计和实现复

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档