"读写器问题"是当多个读写器需要访问同一个资源时产生的一个编程难题,如果同时允许它们访问,可能会出现覆盖、信息不完整等问题。因此,考虑到系统和用户的需要,程序员可以限制访问以控制哪些处理线程看到资源以及何时看到资源。有几种方法可以解决读写器问题。最常见的解决方案之一是使用信号量来标记状态和控制访问
从一个角度看,任何数量的读者都可以安全地访问一个资源,因为他们不会对内容。一旦作者输入等式,情况就变得更加复杂。如果一个线程在写,而其他线程在读,那么读者可能得不到正确的信息。他们可能只收到部分更改,或者可能看到过时的信息并认为它是准确的多个编写器也可能会产生问题。对同一内容的同时更改可能会覆盖它并产生其他错误。在读写器问题下,程序员必须决定读写器是否具有优先级,以及如何处理访问。可以为读写器分配优先级,或者系统可以在先到先服务的基础上分配访问权限。第三种解决方案可以避免长时间等待,但也可能带来自身的问题在读卡器具有优先权的解决方案中,系统假定当访问可用时,任何请求访问的读卡器都应首先被允许。这意味着任何想要访问资源的写入程序都可能需要等待。相反,系统可能会假设,由于写入程序需要进行可能会影响读卡器的更改,因此在读写器问题下应给予优先权。当读卡器处理完资源时,编写器可以跳入进行更改。这不仅适用于用户操作(如试图保存文档),还适用于计算机内部保持系统运行的内部进程另一个选项允许读写器问题平衡双方的需求,允许每个处理线程在到达时进行访问。这可以防止写入程序在不让读卡器等待的情况下进行覆盖彼此或混淆读卡器的更改,或者强迫写作者在读写结束时等待。这样的优先级可以内置在软件程序或计算机的内存访问控制中。如果用户对编程感到满意并且系统允许的话,他们可以进行更改。

来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!
本文链接:https://www.ibaiwen.com/web/274646.html
- 热门文章
-
WB蒙特利尔(WB Montreal)——欧美十大最差视频游戏开发商
迅猛龙(Velociraptor)——欧美史前十大死亡动物
什么是果酱猫(What Marmalade Cats)?
神奇蜘蛛侠2(The Amazing Spider-Man 2)——欧美最佳蜘蛛侠电影
faceu激萌怎么把瘦脸开到最大
希瑟(Heather)——欧美十大最佳柯南灰歌
奥兹奥斯本(Ozzy Osbourne)——欧美十大高估歌手
二人梭哈
什么是小脑前下动脉(Anterior Inferior Cerebellar Artery)?
我应该知道康涅狄格州的什么(What Should I Know About Connecticut)?
- 热评文章
- 最新评论
-
- 最近访客
-
- 站点信息
-
- 文章总数:261580
- 页面总数:9
- 分类总数:1
- 标签总数:0
- 评论总数:0
- 浏览总数:74382