当前位置: 首页 > news >正文

做网站需要什么人员百度热搜榜单

做网站需要什么人员,百度热搜榜单,常州交通建设管理有限公司网站,网站如何收录文章目录 33、简述mmap的原理和使用场景#xff1f;34、互斥量能不能在进程中使用#xff1f;35、协程是轻量级线程#xff0c;轻量级表现在哪里#xff1f;36、说说常见信号有哪些#xff0c;表示什么含义#xff1f;37、说说线程间通信的方式有哪些#xff1f;38、说说… 文章目录 33、简述mmap的原理和使用场景34、互斥量能不能在进程中使用35、协程是轻量级线程轻量级表现在哪里36、说说常见信号有哪些表示什么含义37、说说线程间通信的方式有哪些38、说说线程间同步的方式有哪些39、说说什么是死锁产生的条件如何解决40、有了进程为什么还要有线程41、单核机器上写多线程程序是否要考虑加锁为什么42、说说多线程和多进程的不同43、简述互斥锁的机制互斥锁与读写的区别44、说说什么是信号量有什么作用45、进程、线程的中断切换的过程是怎样的 33、简述mmap的原理和使用场景 原理mmap是一种内存映射文件的方法即将一个文件或者其它对象映射到进程的地址空间实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后进程就可以采用指针的方式读写操作这一段内存而系统会自动回写脏页面到对应的文件磁盘上即完成了对文件的操作而不必再调用read, write等系统调用函数。 相反内核空间对这段区域的修改也直接反映用户空间从而可以实现不同进程间的文件共享。如下图 使用场景 对同一块区域频繁读写操作可用于实现用户空间和内核空间的高效交互可提供进程间共享内存及相互通信可实现高效的大规模数据传输 34、互斥量能不能在进程中使用 能。 不同的进程之间存在资源竞争或并发使用的问题所以需要互斥量。 进程中也需要互斥量因为一个进程中可以包含多个线程线程与线程之间需要通过互斥的手段进行同步避免导致共享数据修改引起冲突。可以使用互斥锁属于互斥量的一种。 35、协程是轻量级线程轻量级表现在哪里 协程调用跟切换比线程效率高协程执行效率极高。协程不需要多线程的锁机制可以不加锁的访问全局变量所以上下文的切换非常快。协程占用内存少执行协程只需要极少的栈内存大概是45KB而默认情况下线程栈的大小为1MB。切换开销更少协程直接操作栈基本没有内核切换的开销所以切换开销比线程少。 36、说说常见信号有哪些表示什么含义 编号为1 ~ 31的信号为传统UNIX支持的信号是不可靠信号(非实时的)。不可靠信号和可靠信号的区别于前者不支持排队可能会造成信号丢失而后者不会。编号为1 ~ 31的信号如下 而常见信号如下 37、说说线程间通信的方式有哪些 线程间的通信方式包括临界区、互斥量、信号量、条件变量、读写锁 临界区每个线程中访问临界资源的那段代码称为临界区Critical Section临界资源是一次仅允许一个线程使用的共享资源。每次只准许一个线程进入临界区进入后不允许其他线程进入。不论是硬件临界资源还是软件临界资源多个线程必须互斥地对它进行访问。互斥量采用互斥对象机制只有拥有互斥对象的线程才可以访问。因为互斥对象只有一个所以可以保证公共资源不会被多个线程同时访问。信号量计数器允许多个线程同时访问同一个资源。条件变量通过条件变量通知操作的方式来保持多线程同步。读写锁读写锁与互斥量类似。但互斥量要么是锁住状态要么就是不加锁状态。读写锁一次只允许一个线程写但允许一次多个线程读这样效率就比互斥锁要高。 38、说说线程间同步的方式有哪些 线程间的同步方式包括互斥锁、信号量、条件变量、读写锁 互斥锁采用互斥对象机制只有拥有互斥对象的线程才可以访问。因为互斥对象只有一个所以可以保证公共资源不会被多个线程同时访问。信号量计数器允许多个线程同时访问同一个资源。条件变量通过条件变量通知操作的方式来保持多线程同步。读写锁读写锁与互斥量类似。但互斥量要么是锁住状态要么就是不加锁状态。读写锁一次只允许一个线程写但允许一次多个线程读这样效率就比互斥锁要高。 39、说说什么是死锁产生的条件如何解决 死锁: 是指多个进程在执行过程中因争夺资源而造成了互相等待。此时系统产生了死锁。比如两只羊过独木桥若两只羊互不相让争着过桥就产生死锁。产生的条件死锁发生有四个必要条件 1互斥条件进程对所分配到的资源不允许其他进程访问若其他进程访问只能等待直到 进程使用完成后释放该资源 2请求保持条件进程获得一定资源后又对其他资源发出请求但该资源被其他进程占有 此时请求阻塞而且该进程不会释放自己已经占有的资源 3不可剥夺条件进程已获得的资源只能自己释放不可剥夺 4环路等待条件若干进程之间形成一种头尾相接的循环等待资源关系。如何解决 1资源一次性分配从而解决请求保持的问题 2可剥夺资源当进程新的资源未得到满足时释放已有的资源 3资源有序分配资源按序号递增进程请求按递增请求释放则相反。 举个例子 举个例子比如如果此时有两个线程T1和T2它们分别占有R1和R2资源 此时T1请求R2资源的同时T2请求R1资源。 这个时候T2说你把R1给我我就给你R2 T1说不行你要先给我R2我才能给你R1 那么就这样死锁产生了。如下图 40、有了进程为什么还要有线程 原因 进程在早期的多任务操作系统中是基本的执行单元。每次进程切换都要先保存进程资源然后再恢复这称为上下文切换。但是进程频繁切换将引起额外开销从而严重影响系统的性能。为了减少进程切换的开销人们把两个任务放到一个进程中每个任务用一个更小粒度的执行单元来实现并发执行这就是线程。线程与进程对比 1进程间的信息难以共享。由于除去只读代码段外父子进程并未共享内存因此必须采用一些进程间通信方式在进程间进行信息交换。但多个线程共享进程的内存如代码段、数据段、扩展段线程间进行信息交换十分方便。 2调用 fork() 来创建进程的代价相对较高即便利用写时复制技术仍然需要复制诸如内存页表和文件描述符表之类的多种进程属性这意味着 fork() 调用在时间上的开销依然不菲。但创建线程比创建进程通常要快 10 倍甚至更多。线程间是共享虚拟地址空间的无需采用写时复制来复制内存也无需复制页表。 41、单核机器上写多线程程序是否要考虑加锁为什么 在单核机器上写多线程程序仍然需要线程锁。 原因因为线程锁通常用来实现线程的同步和通信。在单核机器上的多线程程序仍然存在线程同步的问题。因为在抢占式操作系统中通常为每个线程分配一个时间片当某个线程时间片耗尽时操作系统会将其挂起然后运行另一个线程。如果这两个线程共享某些数据不使用线程锁的前提下可能会导致共享数据修改引起冲突。 42、说说多线程和多进程的不同 1一个线程从属于一个进程一个进程可以包含多个线程。 2一个线程挂掉对应的进程挂掉多线程也挂掉一个进程挂掉不会影响其他进程多进程稳定。 3进程系统开销显著大于线程开销线程需要的系统资源更少。 4多个进程在执行时拥有各自独立的内存单元多个线程共享进程的内存如代码段、数据段、扩展段但每个线程拥有自己的栈段和寄存器组。 5多进程切换时需要刷新TLB并获取新的地址空间然后切换硬件上下文和内核栈多线程切换时只需要切换硬件上下文和内核栈。 6通信方式不一样。 7多进程适应于多核、多机分布多线程适用于多核 43、简述互斥锁的机制互斥锁与读写的区别 互斥锁机制mutex用于保证在任何时刻都只能有一个线程访问该对象。当获取锁操作失败 时线程会进入睡眠等待锁释放时被唤醒。互斥锁和读写锁 1读写锁区分读者和写者而互斥锁不区分 2互斥锁同一时间只允许一个线程访问该对象无论读写读写锁同一时间内只允许一个写 者但是允许多个读者同时读对象。 互斥锁其实就是一个bool型变量为true时表示锁可获取为false时表示已上锁。这里说的是互斥锁其实是泛指linux中所有的锁机制。我们采用互斥锁保护临界区从而防止竞争条件。也就是说一个线程在进入临界区时应得到锁它在退出临界区时释放锁。函数 acquire() 获取锁而函数 release() 释放锁如图 每个互斥锁有一个布尔变量 available它的值表示锁是否可用。如果锁是可用的那么调用 acquire()会成功并且锁不再可用。当一个线程试图获取不可用的锁时它会阻塞直到锁被释放。 44、说说什么是信号量有什么作用 概念信号量本质上是一个计数器用于多进程对共享数据对象的读取它主要是用来保护共享资源信号量也属于临界资源使得资源在一个时刻只有一个进程独享。原理由于信号量只能进行两种操作等待和发送信号即P(sv)和V(sv)具体的行为如下 1P(sv)操作如果sv的值大于零就给它减1如果它的值为零就挂起该进程的执行信号量的值为正进程获得该资源的使用权进程将信号量减1表示它使用了一个资源单位。 2V(sv)操作如果有其他进程因等待sv而被挂起就让它恢复运行如果没有进程因等待sv而挂起就给它加1若此时信号量的值为0则进程进入挂起状态直到信号量的值大于0若进程被唤醒则返回至第一步。作用用于多进程对共享数据对象的读取它主要是用来保护共享资源信号量也属于临界资 源使得资源在一个时刻只有一个进程独享。 45、进程、线程的中断切换的过程是怎样的 上下文切换指的是内核操作系统的核心在CPU上对进程或者线程进行切换。 进程上下文切换 1保护被中断进程的处理器现场信息 2修改被中断进程的进程控制块有关信息如进程状态等 3把被中断进程的进程控制块加入有关队列 4选择下一个占有处理器运行的进程 5根据被选中进程设置操作系统用到的地址转换和存储保护信息 切换页目录以使用新的地址空间 切换内核栈和硬件上下文包括分配的内存数据段堆栈段等 6根据被选中进程恢复处理器现场线程上下文切换 1保护被中断线程的处理器现场信息 2修改被中断线程的线程控制块有关信息如线程状态等 3把被中断线程的线程控制块加入有关队列 4选择下一个占有处理器运行的线程 5根据被选中线程设置操作系统用到的存储保护信息 切换内核栈和硬件上下文切换堆栈以及各寄存器 6根据被选中线程恢复处理器现场
http://wiki.neutronadmin.com/news/265143/

相关文章:

  • 学校网站设计实验报告html5移动网站制作
  • 移动网站建设是什么意思做消费金融网站
  • 关于电子商务网站建设的论文自建站怎么接入支付
  • 模特公司网站模板怎么上传网站到ftp
  • seo网站是什么外贸自建站的推广方式
  • 安徽湖滨建设集团网站数字展厅网站建设
  • 定制网站的优势竞价推广开户电话
  • 动态手机网站网站介绍页面
  • wamp做的网站标签图标网站建设与制作教程
  • 网站设计细节最新上市新手机
  • 建个网站要花多少钱wordpress登录cookies
  • hanchengkeji杭州网站建设百度上怎么发布信息啊
  • 网站设计公司要多少钱网站优化 书
  • 做网站策划容易遇到哪些问题分析网站建设
  • 简述电子商务网站建设的过程无锡哪里有建设网站
  • 英文手机商城网站建设建设工程专注在哪个网站
  • 成都专业的网站建设公司网站建设代理政策
  • 常州市住房建设局网站海外网深一度
  • 做番号类网站违法吗wordpress移动主题设计
  • 西安网站seo工作室wordpress 园林模板
  • 域名申请而完成以后怎么做网站网站设计项目书
  • 推广网站免费网站管理系统后台不能发布文章了
  • 网站建设的优势是什么自己建设网站怎么盈利
  • 口碑最好的网站建设开发网站服务
  • 医疗网站源码单页网站制作软件
  • 微网站制作方案网站推广的目的是什么
  • 长沙做企业网站推广的公司抖音代运营计划书
  • 管理系统 网站模板音乐网站建设教程视频
  • 郑州建站程序品牌开发者选择建议
  • 网站开发工程师自学网络服务器配置与管理考试题