Linux教程

Linux/QNX/线程挂起/恢复应用例子

本文主要是介绍Linux/QNX/线程挂起/恢复应用例子,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

/*
    file name:a.c 
    date     : Wed 26 Jan 2022 04:13:05 AM EST 
*/
#include <stdio.h>
#include <stdlib.h>

#include <string.h>
#include <stdint.h>
#include <pthread.h>
#include <errno.h>
#include <signal.h>
#include <unistd.h>
#include <signal.h>

static pthread_cond_t cond = PTHREAD_COND_INITIALIZER;

void task_sighandler(int sig)
{
    pthread_mutex_t mutex = {0};
    if(SIGUSR1 != sig)
    {
        /* null */
    }
    else
    {
        /* stop task */
        pthread_cond_wait( &cond, &mutex);
    }
}

void *task (void *arg)
{
    signal(SIGUSR1, task_sighandler);
    while(1)
    {
        printf("%s runing.\n", __func__);    
        usleep(500*1000);

这篇关于Linux/QNX/线程挂起/恢复应用例子的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!