gpt4 book ai didi

创建特定于时间的线程

转载 作者:行者123 更新时间:2023-11-30 15:16:12 25 4
gpt4 key购买 nike

我编写了一个示例程序来实现线程数组。有两个线程函数。有没有办法定义一个固定的时间值(以秒为单位),之后所有线程都会自动停止?

示例程序:

#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>


void * threadFunc1(void * arg)
{

int id = *((int *) arg);
printf("Inside threadfunc2 for thread %d\n",id)
while(1);
}

void * threadFunc2(void * arg)
{
int i= *((int *)arg);
printf("Inside threadfunc2 for thread %d\n",i)
while(1);
}

int main(void)
{

pthread_t thread[10];

for(int i=0;i<10;i++)
{

pthread_create(&thread[i],NULL,threadFunc1,(void*)&i );
pthread_create(&thread[i],NULL,threadFunc,(void*)&i );
}

for (i=0;i<total;i++)
{
pthread_join(thread[i],NULL);
}
return 0;
}

最佳答案

您可以将main线程置于 sleep 状态,例如使用nanosleep,而不是使用pthread_join等待线程。如果您随后退出 main 而不加入,您的整个进程将被终止。

关于创建特定于时间的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33185059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com