我很好奇,因为今天我知道如何为两个不同的进程提供相同的共享内存的唯一方法是通过内存映射文件,换句话说,两个进程打开相同的内存映射文件并写入/读取/从它。
由于操作系统需要在磁盘和内存之间交换,因此会产生不利影响。
如果这是一个愚蠢的问题,请提前道歉,但是是否存在进程之间的纯共享内存之类的东西,而不是由文件支持。如果是,如果不使用内存映射文件或 /dev/shm 文件,进程将如何获取它?
我很好奇,因为今天我知道如何为两个不同的进程提供相同的共享内存的唯一方法是通过内存映射文件,换句话说,两个进程打开相同的内存映射文件并写入/读取/从它。
由于操作系统需要在磁盘和内存之间交换,因此会产生不利影响。
如果这是一个愚蠢的问题,请提前道歉,但是是否存在进程之间的纯共享内存之类的东西,而不是由文件支持。如果是,如果不使用内存映射文件或 /dev/shm 文件,进程将如何获取它?
我写了一个简单的程序,它有一个在 CPU 内核上运行的线程。它的旋转有点激进,占用了 100% 的 CPU 核心。top
我可以通过+看到这一点1
。
N分钟后,我希望能够知道:
内核抢占(中断)了我正在运行的线程多少次?