如果我#include <future>
在我的程序中并使用std::async
,程序将拒绝在Windows XP Embedded上运行。现在我知道XPE是基于XP SP2而我在某处读到你需要SP3以便在Win XP上充分利用多线程应用程序,这是正确的吗?我可以做些什么来修补我的XPE以使其运行多线程应用程序?当我打开任务管理器时,我看到两个CPU图,处理器是ATOM D2500 @ 1,86 GHz,规格说它是双核/ 2线程。
答案 0 :(得分:2)
Windows支持多线程,因为在Windows 2000之前,几十年来一直支持多线程。当然,您可以在较新的Windows版本上获得更高的性能。
更实际的问题是XP已经老了,<future>
是新的。您使用的C ++ 11库不能在XP上运行。
作为一种解决方法,使用较旧的编译器(也许是VS2010?)并获取Boost库进行线程化。 C ++ 11线程设计基于Boost。