C++ Windows如何为线程选择内存?

C++ Windows如何为线程选择内存?,c++,multithreading,memory,heap,C++,Multithreading,Memory,Heap,我以前的帖子,(编辑:现已解决) 看起来太复杂了。因此,这是一个更一般的帖子来回答我的问题 如果在If、For、while、case等内部创建线程。线程堆是为控制语句分配的内存子集吗?如果是的话,有没有办法选择在内存中创建新线程的位置?非常感谢。 (Windows 7,Visual Studio 2013,C++)< /P> 我还有一个问题: 没有。。。该线程与主线程和应用程序启动的所有其他线程共享内存。这就是多线程变得更加困难的原因。当多个线程访问同一内存时,必须小心 所有线程共享相同的资源,

我以前的帖子,(编辑:现已解决) 看起来太复杂了。因此,这是一个更一般的帖子来回答我的问题

如果在If、For、while、case等内部创建线程。线程堆是为控制语句分配的内存子集吗?如果是的话,有没有办法选择在内存中创建新线程的位置?非常感谢。 (Windows 7,Visual Studio 2013,C++)< /P> 我还有一个问题:
没有。。。该线程与主线程和应用程序启动的所有其他线程共享内存。这就是多线程变得更加困难的原因。当多个线程访问同一内存时,必须小心


所有线程共享相同的资源,但只有主线程可以与GUI交互。

如果您认为您的旧问题太复杂,请不要让我们阅读,请在此处制定一个完整的新问题。我不觉得它复杂,它已被mods标记。我把它链接起来仅供参考。为了便于阅读,我的问题附加了一个“?”。谢谢您的澄清。您知道为特定线程分配内存的调用吗?我的问题是子线程是通过父线程生成的数据创建的。这应该是不可能的。您如何检查数据是否被覆盖?我有一个指向内存中字符串的LPTSTR点,我为这个指针创建了一个手表。当我逐步浏览代码时,字符串值(指针指向的地址处)从L“Features_30_34_40.bmp”更改为一组unicode字符。我使用了VisualStudio的内存窗口,正在通过字符串数据创建新线程。你可以在内存中看到字符串,然后你可以看到它被更改。这看起来很奇怪。。没有代码很难解决!你能试着把你的代码剪成10行来重现错误吗?在sudo中,代码看起来像:
Make-thread;向父线程传递消息;压井线程;主线程获取消息并生成字符串;制作一条新的线并传递这个新的线我需要一些时间来编写一个短程序,用C++表示