Linux线程基本使用代码演示样例
Posted jzdwajue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux线程基本使用代码演示样例相关的知识,希望对你有一定的参考价值。
#include <pthread.h> #include <stdio.h> #include <unistd.h> void* thread_func(void* param) { const char* p = (const char*)param; pid_t pid = 0; pthread_t tid = 0; pid = getpid(); tid = pthread_self(); printf("%s -> %8u %8u\n", p, (unsigned int)pid, (unsigned int)tid); } void* thread_wait_cancel(void* p) { printf("thread wait cancel -> i‘m waitting for cancel\n"); sleep(10000); printf("if u saw me, there got be something wrong\n"); } int main(int argc, char* argv[]) { pthread_t tid = 0; pthread_create(&tid, NULL, thread_func, (void *)"sub thread"); pthread_t tid_cancel = 0; pthread_create(&tid_cancel, NULL, thread_wait_cancel, NULL); // wait thread tid to exit pthread_join(tid, NULL); // cancel a thread void* stat = 0; pthread_cancel(tid_cancel); pthread_join(tid_cancel, &stat); /* stat = -1 stand for PTHREAD_CANCELED */ printf("cancel thread exit state : %d\n", stat); // show main thread infomation thread_func((void *)"main thread"); return 0; }
注意编译的时候须要加上选项-lpthread。由于pthread不是linu的默认库,例如以下所看到的:
gcc thr.c -lpthread
以上是关于Linux线程基本使用代码演示样例的主要内容,如果未能解决你的问题,请参考以下文章
html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。
Java线程演示样例 - 继承Thread类和实现Runnable接口
Linux系统编程-(pthread)线程的使用案例(分离属性清理函数等)
Android线程池——ThreadPoolExecutor及其拒绝策略RejectedExecutionHandler使用演示样例