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

你可能感兴趣的文章
五分钟创建一个自己的NPM包
查看>>
中大型网站技术架构演变过程
查看>>
ARTS训练第三周
查看>>
vue中v-for循环如何将变量带入class的属性名中
查看>>
php excel
查看>>
一些设计思想的汇集(2)
查看>>
GRUB and LVM and EVMS
查看>>
List集合的迭代器方法
查看>>
ECShop替换FCKeditor编辑器为KindEditor
查看>>
面向对象是软件开发范式的根本性颠覆: 主体建模, 非目标导向, 松耦合, 非逻辑分解, 软件进化...
查看>>
OSI七层模型和TCP/IP四层模型
查看>>
ceph学习笔记之七 数据平衡
查看>>
windows下的php的memcache扩展的安装及memcache最新下载地址
查看>>
YOLOv3: 训练自己的数据(绝对经典版本1)
查看>>
POJ 1150 The Last Non-zero Digit 《挑战程序设计竞赛》
查看>>
Could not find artifact com.sun:tools:jar:1.5.0 解决办法
查看>>
神经网络---Hessian矩阵
查看>>
TreeMap之floorKey
查看>>
phpstorm xdebug remote配置
查看>>
STL札记3-2(hashtable关联容器set、map)
查看>>