挂起某线程命令 Linux,linux 线程挂起恢复的简单示例

参考:

写了个demo:

#include

#include

static pthread_mutex_t mutex;

static pthread_cond_t cond;

static int flag = 0;

void srpthread_init()

{

pthread_mutex_init(&mutex,NULL);

pthread_cond_init(&cond,NULL);

}

void srpthread_suspend()

{

pthread_mutex_lock(&mutex);

flag--;

pthread_mutex_unlock(&mutex);

}

void srpthread_resume()

{

pthread_mutex_lock(&mutex);

flag++;

pthread_cond_signal(&cond);

pthread_mutex_unlock(&mutex);

}

void *thread_run()

{

while(1)

{

pthread_mutex_lock(&mutex);

while(flag<=0)

{

pthread_cond_wait(&cond,&mutex);

}

pthread_mutex_unlock(&mutex);

//actual work

printf("i am running!\n");

}

}

int main(int argc,char *argv[])

{

char ch;

pthread_t p1;

srpthread_init();

pthread_create(&p1,NULL,(void *)thread_run,NULL);

while(1)

{

scanf("%c",&ch);

switch(ch)

{

case 's':

srpthread_suspend();

break;

case 'r':

srpthread_resume();

break;

default:

break;

}

}

#if 0

printf("1111\n");

srpthread_resume();

printf("2222\n");

sleep(3);

printf("3333\n");

srpthread_suspend();

printf("4444\n");

#endif

return 1;

}

编译命令: gcc file.c -o file lpthread

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式查询处理和优化相关知识介绍

一、分布式数据库查询考虑的因素1、和集中式数据查询一样需要考虑查询语言语句的优化2、数据和信息均需要通过通信线路进行数据传输&#xff0c;存在传输延迟问题从而影响整个查询的执行效率。3、网络中多处理器的存在提供了并行数据处理和传输的机会&#xff0c;可以充分利用该…

html下拉框设置默认值_如何设置HTML select下拉框的默认值?

HTML中的select标签用于创建可选择选项的下拉列表&#xff1b;option标签包含选定时将使用的值。那么如何来设置select下拉框里的默认值&#xff1f;下面本篇文章就来给大家介绍一下&#xff0c;希望对大家有所帮助。我们可以在所需选项上使用“selected”属性来设置select元素…

操作数栈的字节码指令执行分析

一&#xff1a;写个demo 二&#xff1a;点击Recompile编译 三&#xff1a;使用javap命令反编译class文件 javap -v 类名.class 四&#xff1a;查看结果 五&#xff1a;分析执行过程 首先bipush意思是把byte类型的变量i的值15存放到操作数栈中&#xff0c;istore_1的意思…

wordpress 当前栏目名,当前栏目的分类名

wordpress在设计主题和做模板时经常会用到调用当前分类栏目名称&#xff0c;常见的有当前栏目页、文章页&#xff0c;详情代码如下&#xff1a; 1.分类名称与链接 <?php the_category(); ?> 2.分类页面调用当前分类名称 要在分类页得到分类页面的栏目名称,需要用<?…

分布式数据库基础:分布式事务相关概念介绍

1、事务的定义事务式访问数据库的一个逻辑工作单位&#xff0c;它属于一个操作序列&#xff0c;执行这个操作序列使数据库从一种一致状态转换到另外一种一致状态&#xff0c;从而实现特定业务的功能。2、分布式事务的定义分布式事务属于传统事务的扩展&#xff0c;分布式事务继…

windows比linux差在哪,怎么让新手理解Linux比Windows好在哪里!

pingpang2008 于 2009-06-17 08:54:31发表:人好多啊hantu 于 2009-06-16 23:28:57发表:哈哈,偏偏很多人就是不爽windows了才用Linux的刘冲 于 2009-06-16 21:44:08发表:linux比windows好吗&#xff1f;wayoking 于 2009-06-16 20:45:11发表:理解了&#xff0c;谢谢cscs2002 于 …

12c创建为容器数据库_oracle 12c创建可插拔数据库(PDB)与用户详解

前言由于oracle 12c使用了CDB-PDB架构&#xff0c;类似于docker&#xff0c;在container-db内可以加载多个pluggable-db&#xff0c;因此安装后需要额外配置才能使用。一、修改listener.ora , tnsnames.ora###listener.ora###LISTENER (DESCRIPTION (ADDRESS (PROTOCOL TCP)(…

大型分布式存储方案MinIO介绍,看完你就懂了!

1、MinIO是什么&#xff1f;官方解释&#xff1a;MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等&#xff0c;…

部署好网站,同局域网中电脑无法访问的问题的解决方案

“部署好网站&#xff0c;同局域网中电脑无法访问的问题的解决方案"。 第一&#xff0c;Win7安装IIS后&#xff0c;本地测试没问题&#xff0c;说明IIS配置正确&#xff1b;如果本地测试有问题&#xff0c;先检查IIS安装配置情况。 第二&#xff0c;检查计算机网络情况&am…

linux下julia的开发环境,Ubuntu搭建Julia远程开发环境

Julia作为一门新兴的编程语言&#xff0c;还是可以学一学的&#xff0c;这里总结了一下Ubuntu系统远程搭建Julia开发环境的方法。前期准备&#xff1a;云服务器一台&#xff0c;操作系统为Ubuntu18.04&#xff0c;xshell6 vscode。环境安装;首先使用xshell远程连接云服务器&am…

ElementUI:文本框实现远程搜索的用法

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉&#xff1a; 数据库领域优质创作者&#x1f3c6;&#x…

栈桢的结构

栈桢里面主要有局部变量表&#xff0c;操作数栈&#xff0c;方法返回地址&#xff0c;动态链接&#xff0c;和一些附加信息

horizon服务主要模块_Horizon Workspace 快速部署指南三(配置Workspace数据模块)

1. 配置Horizon Workspace1.1 配置Horizon Workspace 数据模块1.1.1 为Data Server增加虚拟磁盘由于初始化的Data Server数据空间有限&#xff0c;为了保证测试需求&#xff0c;我们需要添加合适大小的存储空间到Data Server。登陆vShpere client&#xff0c;选择Data-va &…

Android事件总线

Android中Activity、Service、Fragment之间的相互通信比较麻烦&#xff0c;主要有以下一些方法&#xff1a; (1)使用广播&#xff0c;发送者发出广播&#xff0c;接收者接收广播后进行处理&#xff1b; (2)使用Handler和Message&#xff0c;如下载线程完成下载任务后&#xff0…

linux5.4无法远程,利用Xmanager_在RedHat5.4下实现Linux远程桌面

利用Xmanager 在RedHat5.4下实现Linux远程桌面前言&#xff1a;Linux服务器的Xwindow界面的&#xff0c;需要对Linux进行相应的配置&#xff0c;详细步骤如下。前提&#xff1a;安装linux时一定要选上xwindow&#xff0c;这是最基本的前提&#xff0c;不安装它&#xff0c;是绝…

分布式数据库基础:分布式数据库故障

分布式数据库系统常见的故障主要有事务故障、系统故障、介质故障、网络引起的故障。事务故障&#xff1a;计算溢出、完整性破坏、操作员干预、输入输出报错等。介质故障&#xff1a;存放数据的介质发生的故障&#xff0c;比如磁盘、磁盘的损坏等等。系统故障&#xff1a;CPU出错…

动态链接(指向运行时常量池的方法引用)

动态链接&#xff08;指向运行时常量池的方法引用&#xff09;

洛谷P1198 [JSOI2008]最大数

P1198 [JSOI2008]最大数 267通过1.2K提交题目提供者该用户不存在标签线段树各省省选难度提高/省选-提交该题 讨论 题解 记录 最新讨论 WA80的戳这QwQBZOJ都过了&#xff0c;洛谷竟然过不了…为什么过不了 我想说这题加优读会WA&#xff1f;…谁说pascal只能80&#xff0c;要换c…

njx如何实现负载均衡_负载均衡是怎么做的~

展开全部1、服务直接返回&#xff1a;这种安装方式负载均衡的LAN口不使用&#xff0c;WAN口与服务器在同一个网络中&#xff0c;互联网的32313133353236313431303231363533e78988e69d8331333431363531客户端访问负载均衡的虚IP(VIP)&#xff0c;虚IP对应负载均衡机的WAN口&…