博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(原創) 如何建立一个thread? (OS) (Linux) (C/C++) (C)
阅读量:5963 次
发布时间:2019-06-19

本文共 1028 字,大约阅读时间需要 3 分钟。

此范例demo如何在Linux下建立一个thread。

 1
ExpandedBlockStart.gif
ContractedBlock.gif
/**/
/* 
 2InBlock.gif(C) OOMusou 2006 http://oomusou.cnblogs.com
 3InBlock.gif
 4InBlock.gifFilename    : pthread_create.cpp
 5InBlock.gifCompiler    : gcc 4.10 on Fedora 5 / gcc 3.4 on Cygwin 1.5.21
 6InBlock.gifDescription : Demo how to create thread in Linux.
 7InBlock.gifRelease     : 12/03/2006
 8InBlock.gifCompile     : g++ -lpthread pthread_create.cpp 
 9ExpandedBlockEnd.gif*/
10
None.gif#include 
<
stdio.h
>
11
None.gif#include 
<
stdlib.h
>
  
//
 exit(), EXIT_SUCCESS
12
None.gif
#include 
<
pthread.h
>
 
//
 pthread_create(),pthread_join()
13
None.gif
14
None.gif
void
*
 helloWorld(
void
*
 arg);
15
None.gif
16
ExpandedBlockStart.gifContractedBlock.gif
int
 main() 
dot.gif
{
17InBlock.gif  // Result for System call
18InBlock.gif  int res = 0;
19InBlock.gif
20InBlock.gif  // Create thread
21InBlock.gif  pthread_t thdHelloWorld;  
22InBlock.gif  res = pthread_create(&thdHelloWorld, NULL, helloWorld, NULL);
23ExpandedSubBlockStart.gifContractedSubBlock.gif  if (res) dot.gif{
24InBlock.gif    printf("Thread creation failed!!\n");
25InBlock.gif    exit(EXIT_FAILURE);
26ExpandedSubBlockEnd.gif  }
27InBlock.gif
28InBlock.gif  // Wait for thread synchronization
29InBlock.gif  void *threadResult;
30InBlock.gif  res = pthread_join(thdHelloWorld, &threadResult);
31ExpandedSubBlockStart.gifContractedSubBlock.gif  if (res) dot.gif{
32InBlock.gif    printf("Thread join failed!!\n");
33InBlock.gif    exit(EXIT_FAILURE);
34ExpandedSubBlockEnd.gif  }
35InBlock.gif
36InBlock.gif  exit(EXIT_SUCCESS);
37ExpandedBlockEnd.gif}
38
None.gif
39
ExpandedBlockStart.gifContractedBlock.gif
void
*
 helloWorld(
void
*
 arg) 
dot.gif
{
40InBlock.gif  printf("Hello World\n");
41ExpandedBlockEnd.gif}

转载地址:http://otjax.baihongyu.com/

你可能感兴趣的文章
0822 - 抓住现金牛,还是投资潜力股
查看>>
MVVM框架下实现左右滑动切换tab
查看>>
Vue访问加载本地Json(渲染模版数据)时遇到的坑,报undefined
查看>>
[教程] 使用 Agora SDK 实现视频对话应用 HouseParty - 附 iOS 源码
查看>>
Shiro第一篇【Shiro的基础知识、回顾URL拦截】
查看>>
普通程序员,三年成为年薪70w架构师,只因做到了这些
查看>>
谈程序员如何做好业务
查看>>
企鹅社区移动版Vue2.0升级手记
查看>>
04、React系列之 开发工具Atom配置
查看>>
Kotlin Weekly 中文周报 —— 99
查看>>
组件化架构Dagger2无缝连接开发
查看>>
自定义View之入门(一)
查看>>
计算机系统006 - 硬件组件之RAM
查看>>
Java并发编程之锁机制之引导篇
查看>>
数据更改而页面不更新(vue)
查看>>
反转字符串 II
查看>>
Severless SQL on OSS 实验(DataLakeAnalytics on OSS)
查看>>
spring 5 webflux异常处理
查看>>
Gradle学习系列----多项目构建
查看>>
Android视频开发进阶(part2-MP4文件的解析)
查看>>