线程信号(适合初学者)

#include<stdio.h>

#include<signal.h>

#include<pthread.h>

void signal_func(int arg)

{

        printf("接收信号 %d",arg);

}

void *task(void* arg)

{

        //注册一个信号函数,打印一句话

        signal(10,signal_func);

        while(1)

        {

                static int a=0;

                printf("我在任务 %d\n",a++);

                sleep(1);

        }

        

}

int main()

{

        //开启一个线程

        pthread_t tid;

        pthread_create(&tid,NULL,task,NULL);

        while(1)

        {

                printf("输入1发送信号给线程\n");

                int n=0;

                scanf("%d",&n);

                if(n==1)

                {

                        //信号10,用户自定义信号1,默认终止进程。在这里是打印一句话。

                        pthread_kill(tid,10);

                }

        }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值