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

你可能感兴趣的文章
并发串行调用接口
查看>>
CMD 修改Host文件 BAT
查看>>
android幻灯片效果实现-Gallery
查看>>
实现Instagram的Material Design概念设计
查看>>
CentOS 6.x 快速安装L2TP ***
查看>>
一篇文章能够看懂基础源代码之JAVA篇
查看>>
Goldengate双向复制配置
查看>>
Oracle官方内部MAA教程
查看>>
DNS相关配置
查看>>
miniWindbg 功能
查看>>
CF772E Verifying Kingdom
查看>>
第二次冲刺 第七天
查看>>
矩阵之矩阵乘法(转载)
查看>>
Python _内置函数3_45
查看>>
cf-Igor In the Museum (dfs)
查看>>
数据之路 Day4 - Python基础4
查看>>
使用openCV打开USB摄像头(UVC 小米micro接口)
查看>>
Luogu P3577 [POI2014]TUR-Tourism
查看>>
Scrapy框架的基本使用
查看>>
ActionResult,PartialViewResult,EmptyResult,ContentResult
查看>>