multithreading - 在一个线程中读取数据而在另一个线程中写入数据是否对操作系统造成危险?

标签 multithreading operating-system

程序使用此数据的方式没有任何问题,如果它读取旧值而不是新值,将导致程序崩溃。 会在某个时候获得的新值。

但是,我想知道是否同时从多个线程进行读取和写入会导致OS出现问题?

我还没有看到他们是否这样做。该程序是使用pthread在Linux中开发的。

我对被告知如何使用互斥锁/信号量/锁/等等不感兴趣编辑:,因此我的程序仅获得新值,这不是我要的。

最佳答案

否。操作系统应该没有任何问题。常见的问题是您不想读取旧值或更新一半的值,因此无效(并且可能会使您的应用程序崩溃,或者如果下一个值取决于前一个值,那么您可能会获得损坏的值)并继续在所有itme上生成错误的值),但如果您对此不关心,则操作系统也不会。

关于multithreading - 在一个线程中读取数据而在另一个线程中写入数据是否对操作系统造成危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2058445/

相关文章:

java - 使 Java 消耗大量 CPU 的外部进程

C++ OpenMP : Split for loop in even chunks static and join data at the end

memory - 为什么进程的地址空间分为四个段(文本、数据、堆栈和堆)?

c - 实现用户定义的 malloc() 函数?

c# - Linq - 中断存储过程的执行

c - 使用线程c语言进行数组和 vector 乘法

c# - 在这种情况下是否需要锁定整数?

java - File.length 平台和文件系统是否独立

Python 产生奇怪的多个目录

linux-kernel - 模式切换涉及哪些开销