C 在多线程程序中共享内存是否有优势?
嘿,我有一个我写的多线程程序,它在线程之间共享内存,有没有办法通过使用共享内存而不是malloc的常规内存来提高效率 此外,如果我有办法改进这个程序,它会列在github上 另外,是的,我知道内存泄漏很严重,这些会影响程序的速度吗 共享内存通常是指不同进程之间共享的内存,需要特殊的操作系统调用来设置和使用:C 在多线程程序中共享内存是否有优势?,c,multithreading,posix,shared-memory,C,Multithreading,Posix,Shared Memory,嘿,我有一个我写的多线程程序,它在线程之间共享内存,有没有办法通过使用共享内存而不是malloc的常规内存来提高效率 此外,如果我有办法改进这个程序,它会列在github上 另外,是的,我知道内存泄漏很严重,这些会影响程序的速度吗 共享内存通常是指不同进程之间共享的内存,需要特殊的操作系统调用来设置和使用:shm_open用于POSIX共享内存,shmget用于SysV共享内存或mmap带有MAP_Shared标志 同一进程中的线程只需访问进程的内存(从malloc获取的内存) 由于共享内存的开
shm_open
用于POSIX共享内存,shmget
用于SysV共享内存或mmap
带有MAP_Shared
标志
同一进程中的线程只需访问进程的内存(从malloc
获取的内存)
由于共享内存的开销对于普通多线程程序来说是不必要的,因此在单个进程程序中使用它不会带来任何好处。共享内存通常指不同进程之间共享的内存,需要特殊的操作系统调用来设置和使用:shm_open
对于POSIX共享内存,shmget
用于SysV共享内存或带有MAP\u shared
标志的mmap
同一进程中的线程只需访问进程的内存(从malloc
获取的内存)
由于共享内存的开销对于普通的多线程程序来说是不必要的,因此在单个进程程序中使用它不会带来任何好处。这个问题基于一个误解,但我认为它不值得所有的否决票和接近票。这仍然是一个有效的问题,一个解释误解并纠正误解的答案是恰当的。这个问题基于误解,但我认为它不值得所有的反对票和接近票。这仍然是一个有效的问题和一个解释误解和纠正误解的答案。谢谢!我就是这么说的,谢谢你!我就是这么说的。