Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用户运行时环境中的并行进程 我有一个C++程序,允许用户在处理器模拟器模拟MIPS处理器时,一步一步地通过处理器指令。问题是,至少在我的测试阶段,我需要将~2^32个整数初始化为0xDEADBEEF。我在创业时就这样做了。在我开始“单步走”之前,完全做到这一点并不十分重要。初始化函数是否可能与程序的其余部分并行执行,以便最终完成,但随着它的进行,我仍然可以单步执行?如何做到这一点?_C++_Multithreading - Fatal编程技术网

用户运行时环境中的并行进程 我有一个C++程序,允许用户在处理器模拟器模拟MIPS处理器时,一步一步地通过处理器指令。问题是,至少在我的测试阶段,我需要将~2^32个整数初始化为0xDEADBEEF。我在创业时就这样做了。在我开始“单步走”之前,完全做到这一点并不十分重要。初始化函数是否可能与程序的其余部分并行执行,以便最终完成,但随着它的进行,我仍然可以单步执行?如何做到这一点?

用户运行时环境中的并行进程 我有一个C++程序,允许用户在处理器模拟器模拟MIPS处理器时,一步一步地通过处理器指令。问题是,至少在我的测试阶段,我需要将~2^32个整数初始化为0xDEADBEEF。我在创业时就这样做了。在我开始“单步走”之前,完全做到这一点并不十分重要。初始化函数是否可能与程序的其余部分并行执行,以便最终完成,但随着它的进行,我仍然可以单步执行?如何做到这一点?,c++,multithreading,C++,Multithreading,您可以在单独的线程中运行初始化函数,但是您需要在内存上创建一个锁定机制,以确保模拟应用程序使用的内存不会被init函数过度写入 视情况而定。一个单独的进程意味着其运行时环境的变化不会影响其他进程的运行时环境。如果您的初始化需要影响主进程的运行时环境,那么单独的进程将很棘手。单独的线程会更好,因为它会影响启动线程的进程的运行时环境。您可以让线程在初始化时运行,并在程序的其余部分正常运行时执行它的操作。这可能包括也可能不包括对信号量(或其他类似同步方法)的需要;这取决于是否存在相互排斥 简言之,是的

您可以在单独的线程中运行初始化函数,但是您需要在内存上创建一个锁定机制,以确保模拟应用程序使用的内存不会被init函数过度写入

视情况而定。一个单独的进程意味着其运行时环境的变化不会影响其他进程的运行时环境。如果您的初始化需要影响主进程的运行时环境,那么单独的进程将很棘手。单独的线程会更好,因为它会影响启动线程的进程的运行时环境。您可以让线程在初始化时运行,并在程序的其余部分正常运行时执行它的操作。这可能包括也可能不包括对信号量(或其他类似同步方法)的需要;这取决于是否存在相互排斥


简言之,是的,这是可能的。但是,如何实现这一点取决于如何执行“单步执行”。

在模拟器为正在运行的程序提供内存时,您是否可以将其初始化为较小的内存块,而不是预先初始化大量内存?

16 GB?在模拟器上,它将在相当长的一段时间内成为死牛肉。不过有很好的学习经验。