Linux多线程实例练习 pthread_create():创建一个线程

int pthread_create(pthread_t *tidp,
const pthread_attr_t *attr,
(void*)(*start_rtn)(void*),
void *arg);

1、代码如下 xx_pthread_create.c

 #include <pthread.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/time.h> // for gettimeofday #define debugMsg(fmt, arg...)\
do{\
unsigned long lSec = ; unsigned long lUSec = ;\
getTimeuSec(&lSec, &lUSec);\
printf("[%ld.%06ld]:", lSec, lUSec);\
printf(fmt, ##arg);\
}while() int getTimeuSec(unsigned long *lSec, unsigned long *lUSec)
{
struct timeval start;
gettimeofday( &start, NULL );
*lSec = start.tv_sec;
*lUSec = start.tv_usec; return ;
}
void * doPrint(void *arg)
{
int i = ;
while(i < )
{
debugMsg("pthread %2d; main %d\n", i++, *(int*)arg);
usleep();
} return NULL;
} int main()
{
pthread_t pid;
int iX = ;
pthread_create(&pid, NULL, doPrint, &iX);
while(iX <= + )
{
debugMsg("main : %d\n", iX++);
usleep();
} return ;
}

2、CentOS 下编译通过

g++ -g -c -o xx_pthread_create.o xx_pthread_create.c
g++ -g -o xx_pthread_create xx_pthread_create.o -lpthread

3、运行结果

[1422496189.763862]:main :
[1422496189.764341]:pthread ; main
[1422496189.965627]:pthread ; main
[1422496190.065601]:main :
[1422496190.166510]:pthread ; main
[1422496190.366393]:main :
[1422496190.367391]:pthread ; main
[1422496190.568275]:pthread ; main
[1422496190.667215]:main :
[1422496190.769157]:pthread ; main
[1422496190.968039]:main :
[1422496190.970323]:pthread ; main
[1422496191.171922]:pthread ; main
[1422496191.269869]:main :
[1422496191.373803]:pthread ; main
[1422496191.571696]:main :
[1422496191.574958]:pthread ; main
[1422496191.776566]:pthread ; main
[1422496191.873512]:main :
[1422496191.977457]:pthread ; main
[1422496192.174348]:main :
[1422496192.178362]:pthread ; main
[1422496192.379214]:pthread ; main
[1422496192.475159]:main :
[1422496192.580095]:pthread ; main
[1422496192.776006]:main :
[1422496192.781267]:pthread ; main
[1422496192.981968]:pthread ; main
[1422496193.076864]:main :
[1422496193.182797]:pthread ; main
[1422496193.377656]:main :
[1422496193.384089]:pthread ; main
[1422496193.584595]:pthread ; main
[1422496193.678472]:main :
[1422496193.785406]:pthread ; main
[1422496193.980296]:main :
[1422496193.987689]:pthread ; main
[1422496194.189201]:pthread ; main
[1422496194.281149]:main :
[1422496194.390049]:pthread ; main
[1422496194.582987]:main :
[1422496194.590944]:pthread ; main
[1422496194.792793]:pthread ; main
[1422496194.883821]:main :
[1422496194.993852]:pthread ; main
[1422496195.184826]:main :
[1422496195.195665]:pthread ; main
[1422496195.397447]:pthread ; main
[1422496195.486468]:main :
[1422496195.598408]:pthread ; main
[1422496195.787329]:main :

Linux多线程实例练习 - pthread_create()的更多相关文章

  1. Linux多线程实例练习 - pthread_cancel()

    Linux多线程实例练习 - pthread_cancel 1.代码 xx_pthread_cancel.c #include <pthread.h> #include <stdio ...

  2. Linux多线程实例练习 - pthread_exit() 与 pthread_join()

    Linux多线程实例练习 - pthread_exit 与 pthread_join pthread_exit():终止当前线程 void pthread_exit(void* retval); pt ...

  3. Linux多线程实例解析

    Linux系统下的多线程遵循POSIX线程接口,称为 pthread.编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a.顺便说一下,Linux ...

  4. Linux多线程实例 定时重启httpd和mysqld

    #include <stdio.h> #include <pthread.h> void *start_routine(void *arg) { while(1) { syst ...

  5. Linux多线程编程实例解析

    Linux系统下的多线程遵循POSIX线程接口,称为 pthread.编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a.顺便说一下,Linux ...

  6. Linux 多线程应用中如何编写安全的信号处理函数

    http://blog.163.com/he_junwei/blog/static/1979376462014021105242552/ http://www.ibm.com/developerwor ...

  7. 笔记整理--Linux多线程

    Unix高级环境编程系列笔记 (2013/11/17 14:26:38) Unix高级环境编程系列笔记 出处信息 通过这篇文字,您将能够解答如下问题: 如何来标识一个线程? 如何创建一个新线程? 如何 ...

  8. Linux多线程编程初探

    Linux线程介绍 进程与线程 典型的UNIX/Linux进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情.有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程 ...

  9. 【操作系统作业-lab4】 linux 多线程编程和调度器

    linux多线程编程 参考:https://blog.csdn.net/weibo1230123/article/details/81410241 https://blog.csdn.net/skyr ...

随机推荐

  1. 11g SQL Monitor

    1,首先确认两个参数的值 SQL> show parameter statistics_level NAME                     TYPE     VALUE ------- ...

  2. bootstrap组件 2

    bootstrap组件2 <!DOCTYPE html> <html lang="zh-cn"> <head > <meta charse ...

  3. 把VSO作为GitHub上JavaScript项目的免费CI服务器

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软变得更加开放后,走向开放的不仅有.NET运行时.IDE工具,还有ALM服务器核心组 ...

  4. user_jj两条记录改成一条

    1.前台index控制器,用user_jj.*add找到,home_ddxx_pcz_cl() 2.前台index控制器,用user_jj.*add找到,tgbz_list_sd_cl(),tgbz_ ...

  5. 创建Thread类的子类

    package unit8; public class MyThreadTest { public static void main(String[] args) { MyThread t1 = ne ...

  6. 利用pushState开发无刷页面切换

    转载:http://www.cnblogs.com/flash3d/archive/2013/10/23/3384823.html 实现目标 页面的跳转(前进后退,点击等)不重新请求页面 页面URL与 ...

  7. canvas之2D上下文

    1.填充和描边 (1)fillStyle (2)strokeStyle 2.绘制矩形 (1)fillRect() (2)strokeRect() (3)clearRect()   :清除画布上的矩形区 ...

  8. Java学习——开端

    学号 <Java程序设计>第1周学习总结(1) 教材学习内容总结(第一章) Java最早是由Sun公司研发,原称Oak(橡树),开发者之一的James Gosling被尊称为Java之父. ...

  9. 找规律 Codeforces Round #290 (Div. 2) A. Fox And Snake

    题目传送门 /* 水题 找规律输出 */ #include <cstdio> #include <iostream> #include <cstring> #inc ...

  10. iOS 常用控件 参数

    1.StatusBar 20px 2.TableViewCell 44px 3.TabBar 49px 4.NavigationBar 44px 5.NaviBarIcon 20*20px 6.Tab ...