C++ std::thread разное поведение на linux и windows, в чем может быть проблема?
Разные способ реализации потоков на уровне ОС. Linux - https://en.wikipedia.org/wiki/LinuxThreads, в Windows - https://msdn.microsoft.com/en-us/library/windows/d... Linux потоки сделаны на основе механизма процессов.
Все это легко гуглится, и почему вас вообще это беспокоит? Стандартная библиотека для того и стандартная библиотека чтобы скрывать от вас детали реализации.
Поток создан, работает буферизация ввода-вывода. Измените строку:std::cout << "\nThread 1(foo())";
наstd::cout << "\nThread 1(foo())" << std::endl;