我用 C++ 编写了一个程序(假设 X),它创建了一个数据结构,然后连续使用它。现在我想修改那个数据结构而不中止之前的程序。我尝试了两种方法来完成这项任务:
在同一个程序 X 中,我首先创建了数据结构,然后尝试创建一个子进程,该子进程开始访问并出于某种目的使用该数据结构。父进程继续执行并要求用户进行任何修改,如插入、删除等,并从控制台获取输入,随后完成修改。这里的问题是,它不会修改子进程正在使用的数据结构的副本。后来,我发现这无济于事,因为子进程正在使用自己的数据结构副本,因此通过父进程所做的修改不会反映在其中。但毫无疑问,我不希望这种情况发生。所以我选择了多线程。
我没有创建子进程,而是创建了另一个线程来访问该数据结构并使用它,并尝试在不同线程中从控制台获取用户输入。甚至,由于线程之间的切换非常快,这也不起作用。
所以,请帮我解决这个问题。我希望修改反映在原始数据结构中。此外,我不希望进程(不断访问和使用它)有时等待,因为它的时间至关重要。