c_cpp 在后台运行线程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 在后台运行线程相关的知识,希望对你有一定的参考价值。
#include <thread>
void open_document(const std::string& filename)
{
// Opening a document ..
}
bool done_editing()
{
// Processing whether user is done with the document ..
return false;
}
enum COMMAND
{
OPEN_NEW,
INVALID
};
COMMAND get_user_command()
{
return OPEN_NEW;
}
void process_user_input(COMMAND c)
{
// Processing user input ...
}
std::string get_new_document_name()
{
return "new.doc";
}
void edit_document(const std::string& filename)
{
while (!done_editing())
{
COMMAND c = get_user_command();
if (c == OPEN_NEW)
{
std::string new_doc = get_new_document_name();
std::thread t(edit_document, new_doc);
// This creates a daemon thread
t.detach();
}
else
{
process_user_input(c);
}
}
}
int main()
{
edit_document("new.doc");
return 0;
}
以上是关于c_cpp 在后台运行线程的主要内容,如果未能解决你的问题,请参考以下文章
如何让PhoneGap IOS插件在后台线程中运行
在后台线程中运行处理程序消息
如何在Python中退出主线程并使子线程在后台继续运行
在异步后台线程上运行 CADisplayLink 的正确方法?
iOS保持线程在后台运行
总是在后台运行线程/进程?