[C/C++] 创建后台接受命令程序

C/C++ 多线程时,运行时输入自定义参数,达到控制线程的目的

基础概念

线程:线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,进程包含一个或者多个线程。进程可以理解为完成一件事的完整解决方案,而线程可以理解为这个解决方案中的的一个步骤,可能这个解决方案就这只有一个步骤,也可能这个解决方案有多个步骤。
多线程:多线程是实现并发(并行)的手段,并发(并行)即多个线程同时执行,一般而言,多线程就是把执行一件事情的完整步骤拆分为多个子步骤,然后使得这多个步骤同时执行。
C++多线程:(简单情况下)C++多线程使用多个函数实现各自功能,然后将不同函数生成不同线程,并同时执行这些线程(不同线程可能存在一定程度的执行先后顺序,但总体上可以看做同时执行)。

如何在多线程时通过自定义参数控制程序退出,或者进行切换功能

如下提供了一个demo以供参考


#include <pthread.h>
#include <iostream>
using namespace std;

atomic<bool> bQuit;

int main()  
{  
	thread([&]
	{
		pthread_setname_np(pthread_self(), "RuntimeMenu");

		while (!bQuit)
		{
			cout << "Enter q to quit this app" << endl; 
			cout << "Enter r to print run your function "   << endl;

			char line[256];
			cout << "-\n";
			cin.getline(line, 256);

			if (line[0] == 'q') {
				cout << "Now , quit the thread ! ! !" << endl;
				bQuit = true;
			}

			if (line[0] == 'r')
			{
				cout << "your function is running"<<endl;
				/* do your function*/
			}
			
		}
	}).detach();

	while (!bQuit)
	{
		cout << "this is main function" << endl;
		sleep (3);
	}
	
	return 0;
}  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
《Linux C/C++ 后台开发实践》是一本介绍在Linux环境下使用C/C++进行后台开发的实践指南。 该书主要分为以下几个部分: 第一部分是介绍Linux基础知识,包括Linux操作系统的原理、常用命令等。这部分的目的是为读者打下Linux基础,为后面的主题提供必要的背景知识。 第二部分是介绍C/C++语言的基础知识,包括语法、指针、内存管理等。这部分的目的是让读者熟悉C/C++语言的基本特性,为后续的后台开发做好准备。 第三部分是介绍Linux下的网络编程,包括Socket编程、网络通信协议等。这部分的目的是让读者了解网络编程的基本原理并能够使用C/C++进行网络通信。 第四部分是介绍多线程编程和进程间通信,包括线程的创建与同步、进程间的通信机制等。这部分的目的是让读者了解多线程编程和进程间通信的原理,并能够使用C/C++进行相关的开发。 第五部分是介绍常用的后台开发框架和技术,包括数据库访问、消息队列、Web服务等。这部分的目的是让读者了解后台开发中常用的框架和技术,并能够使用C/C++进行相关的开发。 通过阅读《Linux C/C++ 后台开发实践》,读者可以系统地了解并掌握在Linux环境下使用C/C++进行后台开发的基本技能。这本书的内容丰富、深入浅出,适合有一定编程基础的读者阅读,并可以作为后台开发工程师的参考书籍。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值