zoukankan      html  css  js  c++  java
  • [多线程]

    原型:void pthread_exit(void *retval)
    用法:#include <pthread.h>
    功能:使用函数pthread_exit退出线程,这是线程的主动行为;由于一个进程中的多个线程是共享数据段的,因此通常在线程退出之后,退出线程所占用的资源并不会随着线程的终止而得到释放,但是可以用pthread_join()函数(下篇博客中讲到)来同步并释放资源。
    说明:retval:pthread_exit()调用线程的返回值,可由其他函数如pthread_join来检索获取。
    举例:

    #include <stdlib.h>
    #include <string.h>
    #include <stdio.h>
    #include <pthread.h>
    #include <unistd.h>
    
    void * thread_1(void * arg)
    {
    	int i = 0;
    	for(i=0; i<7; i++)
    	{
    		printf("This is a thread_1
    ");
    		if(i == 2)
    			pthread_exit(0);
    		sleep(1);	
    	}	
    }
    
    void * thread_2(void * arg)
    {
    	int i;
    	for(i=0; i<3; i++)
    	{
    		printf("This is a thread_2
    ");
    	}	
    	pthread_exit(0);
    }
    
    int main()
    {
    	pthread_t id_1;
    	pthread_t id_2;
    	
    	int i, ret;
    	
    	// Create thread 1
    	ret = pthread_create(&id_1, NULL, &thread_1, NULL);
    	if(ret != 0)
    	{
    		printf("thread create error.
    ");
    		return -1;	
    	}	
    	
    	// Create thread 2
    	ret = pthread_create(&id_2, NULL, &thread_2, NULL);
    	if(ret != 0)
    	{
    		printf("thread2 create error.
    ");
    		return -1;	
    	}
    	
    	pthread_join(id_1, NULL);
    	pthread_join(id_2, NULL);
    	
    	return 0;
    }
    

      

  • 相关阅读:
    Pandas 包基础
    记录numpy 数组打印形式
    WordPress 模板层次结构
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
    WordPress 主题开发
  • 原文地址:https://www.cnblogs.com/eternal1025/p/4488059.html
Copyright © 2011-2022 走看看