c - 线程之间是否可以通过LINX进行通信?

标签 c linux multithreading

我知道有多种方法可以在线程之间进行通信,但我的问题是针对 LINX 的。请回答。

提前致谢

最佳答案

同一进程的线程共享堆成员,通过线程锁、信号量和条件变量进行同步。

此外,进程间通信(例如IPC,PIPE/FIFO/MessageQueue/SharedMemory/Signal/Socket)的通信方式也适用于线程通信。以 FIFO 为例(忽略错误码检查):

char buf[110];
char *FIFO = "/tmp/my_fifo";
mkfifo(FIFO, O_CREAT);
int fd = open(FIFO, O_RDONLY, 0);
int nread = read(fd, buf, 100);

关于c - 线程之间是否可以通过LINX进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37725638/

相关文章:

python - 在 Python 中将 long 从寄存器转换为 char 数组

c - 接受失败并返回 EFAULT

android - 如何在 Android 中停止此线程?

c - C中的双向匿名管道

无法在 char 指针数组中打印指针地址

c - 通过 haskell 传递 void *

c++ - 如何在集群上链接 boost 库?

ios - UITableViewDataSource 异步加载

c++ - Producer Consumer 使用 intel-pin 内线程

java - Eclipse "Show Proposal"组合键不适用于 Java 或 C