thread_post 子例程

用途

发布一个事件完成的线程。

标准 C 库 (libc.a)

语法

#include <sys/thread.h>

int thread_post( tid)
tid_t  tid;

描述

thread_post 子例程发布线程 (其线程标识由 标识 参数的值指示) ,以指示事件的发生。 如果已发布的线程正在 thread_wait中等待,那么它将立即被唤醒。 如果它未在 thread_wait中等待,那么对 thread_wait 的下一次调用不会阻塞,而是立即成功返回。

将多个帖子发布到同一线程,而不需要指定线程进行中间等待,那么这些帖子将仅作为单个帖子进行计数。 发布保持有效,直到指定的线程调用 thread_wait 子例程,在该子例程上发布被清除为止。

应用程序可以使用 thread_waitthread_post 子例程来实现不同进程中的线程之间的快速 IPC 机制。

参数

描述
tid 指定要被发布的线程的线程标识。

返回值

在成功完成时, thread_post 子例程返回值 0。 如果不成功,那么将返回值 -1 ,并将全局变量 错误号 设置为指示错误。

错误代码

描述
ESRCH 指示的线程不存在,或者线程已退出或正在退出。
EPERM 实际或有效的用户标识与正在发布的线程的实际或有效用户标识不匹配,否则调用进程没有 root 用户权限。