当前位置: 技术问答>linux和unix
信号的传递和接收是否是线程安全的?
来源: 互联网 发布时间:2016-02-09
本文导语: 也就是说,本线程发送的信号,会被本线程接收到。 比如如下程序:(但又觉得这个程序并不能说明是这个命题) #include #include #include void handle () { printf ("hallo thread %d.nn", pthread_self ()); } void * thr (void *arg...
也就是说,本线程发送的信号,会被本线程接收到。
比如如下程序:(但又觉得这个程序并不能说明是这个命题)
#include
#include
#include
void
handle ()
{
printf ("hallo thread %d.nn", pthread_self ());
}
void *
thr (void *arg)
{
signal (SIGALRM, handle);
printf ("thread %d send a SIGALRM.n", pthread_self ());
raise (SIGALRM);
}
int
main ()
{
int threads = 5;
pthread_t *pidp = alloca (sizeof (pthread_t) * threads);
int i;
for (i = 0; i
比如如下程序:(但又觉得这个程序并不能说明是这个命题)
#include
#include
#include
void
handle ()
{
printf ("hallo thread %d.nn", pthread_self ());
}
void *
thr (void *arg)
{
signal (SIGALRM, handle);
printf ("thread %d send a SIGALRM.n", pthread_self ());
raise (SIGALRM);
}
int
main ()
{
int threads = 5;
pthread_t *pidp = alloca (sizeof (pthread_t) * threads);
int i;
for (i = 0; i