gpt4 book ai didi

c++ - Jade 米片 C++ : Thread Fork to create data structures

转载 作者:行者123 更新时间:2023-11-28 03:45:48 26 4
gpt4 key购买 nike

当我在顶部声明并初始化我的 List 数据结构然后调用我的函数 generateID 时,我有一个运行良好的程序。如果我在顶部声明 List 并在函数内部初始化 List,它也可以工作。但是我遇到的问题是使用线程来创建列表。我不断收到段错误。

在我的程序的顶部,我有我的声明。

列表* aLine;

在底部,我有两个函数。

void CreateListA(int which)
{
aLine = new List;
currentThread->Yield();
}

void ThreadTest()
{
Thread *gA = new Thread("Creates new List A");
gA->Fork(CreateListA, 1);
generateID();
}

现在,当我运行线程测试时,出现段错误。我猜想在某些地方用线程创建列表时,内存都搞砸了。但是我想不通为什么会出现这个问题?我以相同的方式(使用线程)创建了一个播放器对象,程序运行良好。现在我正在尝试创建 List 数据结构,但它失败了。***注意 generateID() 使用 append 和 remove 来操作列表。

最佳答案

在您 Fork 新线程后,会立即执行 generateID():该线程可能尚未启动,或者它可能正在创建列表。

也许 generateID() 应该是不同线程中的函数,列表的创建应该在主线程中。

关于c++ - Jade 米片 C++ : Thread Fork to create data structures,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7763800/

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