线程api用法演示
2017-02-28 16:36
148 查看
传智课程学习笔记。
线程的死分两种,
同归于尽,即,pthread_exit(NULL),这时候整个进程都会结束,
自杀,exit(0);
他杀,pthread_cancel(),很少用,
pthread_join( tid, NULL ); 父线程等待子线程结束,
pthread_detach(); 线程脱离,比如子线程中调用,参数通过self函数传入,
这个代码,随便看看,就行,#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <pthread.h>
int g_num = 0;
void *thread_routine( void *arg)
{
int i = 0;
printf("g_num:%d", g_num);
printf(" i am thread...\n");
for( i=0; i<20; i++)
{
printf("0");
fflush( stdout);
}
sleep( 3);
return NULL;
}
int main()
{
int i = 0;
printf("hello...\n");
pthread_t tid;
g_num = 11;
pthread_create( &tid, NULL, thread_routine, NULL);
for( i=0; i<20; i++)
{
printf("0");
fflush( stdout);
}
pthread_join( tid, NULL);
printf();
}
线程的死分两种,
同归于尽,即,pthread_exit(NULL),这时候整个进程都会结束,
自杀,exit(0);
他杀,pthread_cancel(),很少用,
pthread_join( tid, NULL ); 父线程等待子线程结束,
pthread_detach(); 线程脱离,比如子线程中调用,参数通过self函数传入,
这个代码,随便看看,就行,#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <pthread.h>
int g_num = 0;
void *thread_routine( void *arg)
{
int i = 0;
printf("g_num:%d", g_num);
printf(" i am thread...\n");
for( i=0; i<20; i++)
{
printf("0");
fflush( stdout);
}
sleep( 3);
return NULL;
}
int main()
{
int i = 0;
printf("hello...\n");
pthread_t tid;
g_num = 11;
pthread_create( &tid, NULL, thread_routine, NULL);
for( i=0; i<20; i++)
{
printf("0");
fflush( stdout);
}
pthread_join( tid, NULL);
printf();
}
相关文章推荐
- 获取给定路径的图标,演示SHGetFileInfo用法
- 演示arguments的用法
- 一个例子演示了C++异常的推荐用法
- delphi webbrowser 经常用法演示样例
- javascript入门系列演示·三种弹出对话框的用法实例
- PHP案例:数组用法演示
- Oracle中join用法的演示
- event.srcElement.parentElement用法演示
- 演示arguments的用法
- 泛型的基本用法和代码演示
- 内部类各种用法演示
- 安卓案例:Okhttp3用法演示
- javascript入门系列演示·三种弹出对话框的用法实例(转)
- 实例演示oracle数据块状态视图v$bh的用法一 获取oracle对象所占用的数据块
- jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
- 【Latex】制作演示文档或者课程报告-常见用法(一)
- //蛙蛙推荐:演示索引指示器的用法(C#)
- Java 反射经常用法演示样例
- Android自定义ViewGroup的基本流程及用法演示
- BufferedWriter 和 BufferedReader 的基本用法,附演示程序