有没有办法从另一个线程更改线程的信号掩码?我应该编写一个不使用互斥锁、信号量和条件变量,只使用信号的多线程 C 应用程序。
所以它看起来像这样:主线程将 SIGUSR1 发送到它的进程,并且 2 个线程之一(不包括主线程)将响应信号并阻止 SIGUSR1 来自 sigmask 和睡眠。然后主线程再次发送 SIGUSR1,其他线程会响应,从它的 sigmask 中阻塞 SIGUSR1,从其他线程的 sigmask 中解除阻塞 SIGUSR1,所以它会再次响应 SIGUSR1。
因此,基本上每当主线程发送 SIGUSR1 时,其他两个线程就会相互交换。
有人可以帮忙吗?