c - Solaris 和 POSIX 之间的区别

标签 c linux multithreading solaris

Solaris 函数的实现与 POSIX 函数的实现是相似还是有很大差异。实际上,我试图找到一种解决方案来 fork 具有多个线程的进程。 POSIX 没有任何函数来执行此操作,而 Solaris 有 forkall 用于此目的。你认为它可以很容易地移植到Linux上吗?请注意,我的解决方案不需要可移植或符合 POSIX 标准。

最佳答案

Solaris 有一套完整的 POSIX 接口(interface)(可能没有一些可选部分),但是 Solaris 有额外的接口(interface)来支持旧的 Solaris 软件(不是用 POSIX 编写的,而是用 Solaris 接口(interface)编写的)。

另外,ML中有一个关于forkall的线程http://www.mail-archive.com/[email protected]/msg02256.html

Solaris supports POSIX (among a number of other standards), but not all things you'll find on Solaris are strictly POSIX.

这种内部事物的移植(进程/线程管理位于内核深处)非常困难,几乎等于从头开始编写。这也是因为 Solaris 使用不同的线程模型。

关于c - Solaris 和 POSIX 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6599213/

相关文章:

c - 段错误和指向不存在结构的指针不为空

c - 在 C 中对二维字符串数组进行排序

c - read() 用于从标准输入读取流

java - 使用 JUnit 测试多线程代码 - 奇怪的行为

单独的线程锁父级中的 Java JDBC 查询

c++ - 需要(构建?)Windows 7 64 位上的 eclipse 文件

python - 在 Python CFFI 中声明包含 time_t 字段的结构

python - 在 Python 中捕获 netcat shell 命令输出

linux - Azure:使用自定义脚本扩展取消配置 Linux 实例

c# - Thread.Abort 停止所有线程或仅停止当前线程。智能使用中止?