C Linux 多线程入门
C Linux 多线程入门
×××
入门示例
启动和停止直接使用接口即可,暂停和恢复需要自己定义,大体的代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
#include <signal.h>
#include <sys/time.h>struct sigaction newact, oldact;
unsigned int unslept;// 自定义信号处理
void tm_sig_alrm(int signo) {/* nothing to do */sigset_t siguser1_mask, siguser2_mask,oldmask;sigemptyset(&siguser1_mask);sigemptyset(&siguser2_mask);sigaddset(&siguser1_mask, SIGUSR1);sigaddset(&siguser2_mask, SIGUSR2);switch (signo){case SIGUSR1:pause();break;case SIGUSR2:break;default:return;}
}// 暂停线程
int tm_thread_suspend(pthread_t tid) {return pthread_kill(tid, SIGUSR1);
}// 恢复线程
int tm_thread_resume(pthread_t tid) {return pthread_kill(tid, SIGUSR2);
}// 循环输出
void task() {int count = 0;while(1) {printf("count: %d\n", count);sleep(1);}
}int main(int argc, char const *argv[])
{newact.sa_handler = tm_sig_alrm; //注册了 SIGALRM 信号的处理函数 sig_alrmsigemptyset(&newact.sa_mask);newact.sa_flags = 0;sigaction(SIGUSR1, &newact, &oldact);sigaction(SIGUSR2, &newact, &oldact);pthread_t threadId;// 启动线程pthread_create(&threadId, NULL, task, NULL);sleep(10);// 暂停线程tm_thread_suspend(threadId);sleep(10);// 恢复线程tm_thread_resume(threadId);sleep(10);// 停止线程pthread_cancel(threadId);return 0;
}
C Linux 多线程入门相关推荐
- Linux新手入门之基础命令操作
Linux新手入门 1.Linux基本介绍 1.1.简介 Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux 是一套免 ...
- linux从入门开始——Linux必备手册(Linux关键词,Linux命令总结)
linux系统一切皆文件 linux从入门开始 Linux 目录结构 常用基本命令 关机重启命令 帮助命令 文件目录类 时间日期类 用户管理命令 用户组管理命令 文件权限类 搜索查找类 压缩和解压类 ...
- Linux操作系统入门
Linux操作系统入门 一.入门概述 我们为什么要学习Linux linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板.就如同 ...
- Linux多线程的同步------读写锁
前面介绍过Linux多线程同步的另外两个方法------互斥锁和信号量 Linux多线程的同步-----信号量和互斥锁_神厨小福贵!的博客-CSDN博客 下面来看一下读写锁: 读写锁和互斥锁都带有一个 ...
- Linux多线程的同步-----信号量和互斥锁
前面两篇给基本概念讲过了,大家有兴趣的可以去看一下: Linux多线程_神厨小福贵!的博客-CSDN博客进程和线程的区别有哪些呢?进程是资源分配的最小单位,线程是CPU调度的最小单位进程有自己的独立地 ...
- LINUX新手入门-1.装系统
LINUX新手入门-1.装系统 首先我们用虚拟机模拟 装linux系统,然后下一步下一步,然后完成后,编辑一些设置,把镜像放上面就可以了 选第一项,安装系统,查看镜像是否能运行,直接跳过,选择语言 和 ...
- 计算机书籍-Linux内核 入门篇
去天猫看看智能鼠标 书名:奔跑吧 Linux内核 入门篇 作者:张天飞 出版社:人民邮电出版社 出版时间:2019年02月
- 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...
本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...
- Linux 多线程应用中编写安全的信号处理函数
2019独角兽企业重金招聘Python工程师标准>>> Linux 多线程应用中编写安全的信号处理函数 在 开发多线程应用时,开发人员一般都会考虑线程安全,会使用 pthread_m ...
最新文章
- bash 运行程序 下一步_怎样用 Bash 编程:语法和工具
- Python中的retry
- SAP面向iOS设备推Cloud Platform SDK工具
- 【Gym - 101775J】Straight Master(差分,思维)
- 梁单元分析matlab,[FEM][有限元][编程][Matlab][Code by myself] 2D Timoshenko梁单元
- Python常用正则表达式语法和写法
- 面试、笔试中常用的SQL语句(数据库知识必杀)一共50个!!!
- java 分享商品生成海报到微信+二维码
- 利用pdfminer3k 使用python语言提取PDF中的文本
- iOS:iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?
- 2022年公示的第一家企业征信备案机构
- Java高并发处理:请求合并
- ale.js 对比其他框架
- 解决页面刷新数据丢失,数据持久化问题
- 基于C语言设计的小型图形软件系统
- 微信小程序--获取二维码(java后端)
- 《开源之迷》有哪些迷?怎么解?
- Python的布尔类型和True/False的各种形式
- linux命令之打包和解压
- 【DDR3 控制器设计】(1)MIG IP 核的详解与配置