这 http://www.man7.org/linux/man-pages/man2/clone.2.html写
从 Linux 2.5.35 开始,如果指定了 CLONE_THREAD,则标志还必须包含 CLONE_SIGHAND(请注意,从 Linux 2.6.0-test6 开始,CLONE_SIGHAND 还要求包含 CLONE_VM)。
所以看起来在现代 Linux 上,线程被迫共享信号处理程序和内存空间,这是真的吗?有没有什么方法可以创建一个新线程(tgid
与调用线程相同)而不共享内存空间,也许就像不使用clone()
?
我还想知道,由内核强制执行,一个进程中的线程之间共享什么。