如何解决linux内核中/proc文件的读线程和写线程之间的冲突?

如何解决linux内核中/proc文件的读线程和写线程之间的冲突?,c,multithreading,linux-kernel,circular-buffer,read-write,C,Multithreading,Linux Kernel,Circular Buffer,Read Write,我有一个Linux内核模块,它在/proc目录中创建一个文件。我的模块有读函数和写函数,在读取或写入文件时调用这些函数。它有一个循环缓冲区来保存有许多缓冲区入口的数据 写入文件时,模块将在循环缓冲区中写入数据,然后在读取/proc文件时读取循环缓冲区 当有2个线程时,一个线程可能在读线程从缓冲区条目读取的同时写入缓冲区条目 会有冲突吗?如何解决读线程和写线程之间的冲突 这个页面可能会有帮助:根据需要使用同步原语,如互斥、信号量。

我有一个Linux内核模块,它在/proc目录中创建一个文件。我的模块有读函数和写函数,在读取或写入文件时调用这些函数。它有一个循环缓冲区来保存有许多缓冲区入口的数据

写入文件时,模块将在循环缓冲区中写入数据,然后在读取/proc文件时读取循环缓冲区

当有2个线程时,一个线程可能在读线程从缓冲区条目读取的同时写入缓冲区条目


会有冲突吗?如何解决读线程和写线程之间的冲突

这个页面可能会有帮助:根据需要使用同步原语,如互斥、信号量。