[并发并行]_[pthread]_[对工作线程进行简单控制-暂停-继续-停止]


1.使用命令行对线程简单控制。


界面和Win32版本的:

http://blog.csdn.net/xianglitian/article/details/6729851


场景:

1.在开发界面程序时,为了不让界面程序挂起,会新建一个工作线程来处理逻辑,主线程就能持续和用户交互。

2.pthread优点:跨平台。


耗时:3h


文件1: test_pthread.cpp

#include 
#include "pthread.h"
#include 

using namespace std;

enum DhThreadStatus
{
    kStop,
    kRunning,
    kPause
};

typedef struct DhThreadData
{
    int thread_status;

    pthread_mutex_t mutex;//共享互斥量

    //1.控制工作线程.
    pthread_cond_t work_cond;//条件变量

    //1.控制主线程.
    pthread_cond_t main_cond;//条件变量

    FILE* file;//记录日志

}DhThreadData;

void WriteLine(const char* str,FILE* file,bool is_print_console = true)
{
    if(is_print_console)
    {
        printf("%s",str);
    }
    size_t log_length = strlen(str);

你可能感兴趣的:(C/C++多线程并发并行,c++,pthread,互斥量,信号,线程)