子线程01_简单例子

Qt5.3.2代码:

 

1、pro

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

include(deployment.pri)
qtcAddDeployment()

QMAKE_CXXFLAGS += -pthread  #这里加入gcc编译参数。这是for cpp的,for c 使用 QMAKE_CFLAGS
LIBS += -pthread       #上面和这里,使用 "-lpthread" 也可以,它们的区别 还不清楚...

 

2、CPP

//#include <iostream>
//using namespace std;

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>

void *ThreadFunc(void* /*_args*/)
{
    printf("In function ThreadFunc() - A\n");
    sleep(2);
    printf("In function ThreadFunc() - B\n");
    char* pcThreadReturn = "Thank you for your CPU time .";
    pthread_exit((void*)pcThreadReturn);
    printf("In function ThreadFunc() - C\n"); // ZC: 这一句不会被执行
    //return NULL; // ZC: 这里不需要 return?
}

int main()
{
    pthread_t pthread = 0;
    int iRtn = pthread_create(&pthread, NULL, ThreadFunc, NULL);
    if (iRtn)
    {
        perror("pthread_create");
        return 0;
    }

    printf("Wait for subthread to finish .\n");
    void* threadreturn;
    iRtn = pthread_join(pthread, &threadreturn);
    if (iRtn)
    {
        perror("pthread_join");
        return 0;
    }

    printf("Thread joined, it returned \" %s \"\n", (char*)threadreturn);
    sleep(1);

    printf("Main thread out\n");
//    cout << "Hello World!" << endl;
    return 0;
}

 

 

 

3、

 

转载于:https://www.cnblogs.com/LinuxCode/p/5756698.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值