gpt4 book ai didi

c++ - 计算创建 n 个线程所花费的时间

转载 作者:太空宇宙 更新时间:2023-11-04 16:05:07 24 4
gpt4 key购买 nike

我正在尝试创建 1000 个线程,以便我可以知道创建它们需要多少时间。我正在使用 pthreads。但我收到段错误:11。谷歌搜索告诉我它可能是使用过多内存的情况,但我怀疑这是可能的原因。

关于可能是什么原因的任何指示?

代码:

int main(int argc , char *argv[])
{
int *i; // Matti's answer below: ... = (int*)malloc(sizeof(int));
*i = 0;
while( *i < 100)
{
pthread_t thread_id;
puts("Connection accepted");
if( pthread_create( &thread_id , NULL , connection_handler , (void*) &i) < 0)
{
error("could not create thread");
return 1;
}

//pthread_detach(thread_id);
*i = *i + 1;
}

return 0;
}

void *connection_handler(void *i)
{
sleep(1);
return 0;
}

最佳答案

您的问题是您取消引用了一个从未初始化的指针:

int *i;
*i = 0;

int i; 有什么问题?

关于c++ - 计算创建 n 个线程所花费的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36830141/

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