- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想了解 Linux 中 pthreads 库的堆栈分配。这里有几个问题:
A) 什么是主线程? - 那是运行 C main(
) 程序的线程吗?
B) 主线程的堆栈分配是多少?那是 ulimit -s
大小吗?
C) 子线程的堆栈分配是多少?那是 ulimit -s
大小吗?
D) 主线程和其他线程的栈大小是依赖的 ?
E) 进程栈和线程栈是共享的?我如何决定进程堆栈(比如 a.out
)的大小。
F) 这些信息在 NPTL 和 LinuxThreads 实现之间是否有所不同?
谢谢
最佳答案
答:是的
乙:是的
C:也许吧。
如果在创建线程时使用的 pthread_attr_t 没有指定堆栈大小,并且如果 ulimit -s
不是无限制的,那么 ulimit -s
将确定一个新线程的堆栈大小创建线程。
D:问题不清楚。它们彼此不依赖,但在特定条件下它们都依赖于 ulimit -s
。
E.是和不是。它们在内存可见性的意义上是共享的——主线程可以读取和写入其他线程的堆栈变量,反之亦然。但是每个线程都在自己的堆栈上执行,如果两个线程开始在同一个堆栈上执行,那将是一场灾难。
F.没有。
关于c - Pthreads:主线程和子线程栈大小的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272137/
有人可以向我澄清主线 DHT 规范中的声明吗? Upon inserting the first node into its routing table and when starting up th
我正在尝试使用 USB 小工具驱动程序使嵌入式设备作为 MTP 设备工作。 我知道 Android 从大容量存储设备切换到 MTP 设备已经有一段时间了,并且找到了 source code for M
我是一名优秀的程序员,十分优秀!