LINUX线程分离

linux 环境中可以通过pthread_detach( phtread_id) 函数对线程进行分离

1.可以在子线程中加入代码 pthread_detach(pthread_self())

2.或者在父线程调用pthread_detach(thread_id)
使用简单的


#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 #include <unistd.h>
void *thread_function(void *arg)
{
// pthread_detach(pthread_self());在子线程中使用
 char* cmd = (char*)arg;
 printf("cmd: %s \n",cmd);
 system(cmd);
while(1);
}

void cmd (char * cmd1,char *cmd2,char * cmd3)
{
        pthread_t thread1,thread2,thread3;  
        /*char * cmd1 = "ls";
        char * cmd2 = "ls";
        char * cmd3 = "ls";
        */
    pthread_create(&thread1, NULL, thread_function, (void *)cmd1);  //        
        pthread_create(&thread2, NULL, thread_function, (void *)cmd2);
        pthread_create(&thread3, NULL, thread_function, (void *)cmd3);


        pthread_detach(thread1);  // 2 在主线程中分离线程      
        pthread_detach(thread2);
        pthread_detach(thread3);


}


int main()
{
        cmd("ls","ls","ls");

        sleep(2);
        printf("hahao end end ");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值