gpt4 book ai didi

c - PThread 地址空间

转载 作者:行者123 更新时间:2023-11-30 17:46:45 25 4
gpt4 key购买 nike

有没有办法强制线程拥有独立的地址空间?我想让许多线程使用局部变量运行循环 - 但它们似乎都共享相同的变量。

例如

for (i = args->start; i < args->end; i++) {
printf("%d\n", i);
if (quickFind(getReverse(array[i]), 0, size - 1)) {
printf("%s\n", array[i]);
//strcpy(array[i], "");
}
}

i 似乎是跨线程共享的。

最佳答案

线程共享其父进程的内存空间。这是他们的特点。如果您不希望发生这种情况,您可以使用 fork() 创建一个新进程,该进程将拥有自己的地址空间。

如果您决定使用 fork(),请记住,成功创建子进程后,它会向子进程返回 0,并向父进程返回子进程的 PID。

关于c - PThread 地址空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19172441/

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