博客
关于我
强烈建议你试试无所不能的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/

你可能感兴趣的文章
JavaScript:Array 对象
查看>>
PDFCreator:一款免费,开源的PDF(Tiff,pcx,png,jpeg,bmp,PS,EPS)打印机(VB,GPL),并提供了COM接口,方便使用各种编程语言调用...
查看>>
Note 1773479 - SYB: Displaying multiple triggers per object
查看>>
联手云计算核心技术开发,BoCloud与中科院软件所战略合作
查看>>
2017年背景下的SSD选购技巧有哪些变化?
查看>>
2016年的数据存储和管理的成本将何去何从?
查看>>
Airpods 并非无用,而是苹果借助语音交互布局物联网的新“棋子”
查看>>
项目总结:数据迁移测试
查看>>
你有足够的勇气改变不良的数据习惯吗?
查看>>
SQL中存储过程的创建和使用
查看>>
荷兰政府:保证不强制在任何产品中留有后门
查看>>
编写单元测试的10条理由
查看>>
LINUX-SAMBA服务配置
查看>>
图像处理------光束效果
查看>>
剑指offer 面试题6:重建二叉树
查看>>
智能合约从入门到精通:Solidity语法之内存变量的布局和状态变量的存储模型...
查看>>
Android之Handler消息传递机制详解
查看>>
iOS 离屏渲染
查看>>
OpenCV 离散傅里叶变换
查看>>
小程序多图上传
查看>>