线程和信号

    xiaoxiao2025-04-01  15

    基本概念:

    每个线程都有自己的信号屏蔽字,但是信号的处理是进程所以线程共享的。这意味着单个线程可以阻止某些信号,但当某个线程修改了与某个给定信号相关的处理行为以后,所有的线程都必须共享这个行为处理的改变。

    进程中的信号是传递到单个线程的。如果一个信号与硬件故障相关,那么该信号一般都会被发送到引起该事件的线程中去,而其他的信号则被发送到任意一个线程。

    要把信号发送给线程,可以调用pthread_kill

    PTHREAD_KILL(3) Linux Programmer's Manual PTHREAD_KILL(3) NAME pthread_kill - send a signal to a thread SYNOPSIS #include <signal.h> int pthread_kill(pthread_t thread, int sig); Compile and link with -pthread.

    注意,闹钟定时器是进程资源,并且所有的线程共享相同的闹钟。所以,进程中的多个线程不能互不干扰地使用闹钟定时器。

    参考:《unix环境高级编程》·第三版

    End;

    转载请注明原文地址: https://ju.6miu.com/read-1297608.html
    最新回复(0)