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

你可能感兴趣的文章
回顾·深度学习的可解释性与低频事件学习在金融领域的研究与应用
查看>>
逆向直播盒子MT·Box-iOS客户端
查看>>
JavaScript异步编程的6种方法
查看>>
10分钟理解TCP、UDP 和端口号
查看>>
springboot使用netty-socketio推送消息
查看>>
Java集合之HashMap
查看>>
后端的一些经验与心得
查看>>
python多态的个人理解
查看>>
Flutter入门二——项目结构及配置文件简介
查看>>
理解设计模式
查看>>
RSA签名的PSS模式
查看>>
window.URL对象的使用方式
查看>>
个人博客二|创建项目
查看>>
Redis有序集合指令学习
查看>>
『互联网架构』软件架构-spring源码之spring结构概述
查看>>
在Linux Debian 8下部署基于PHP的Web项目。
查看>>
以太坊是什么?
查看>>
Netty源码解析-概述篇
查看>>
获取当前Tomcat实例的端口
查看>>
附实例!图解React的生命周期及执行顺序
查看>>