TeXpert
![](http://forum.ru-board.com/board/avatars/private/TeXpert.gif)
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вопрос знатокам Есть простая программа Код: /* g++ ParallelTest.cpp -std=c++11 // Windows /opt/gcc-4.9.2/bin/g++ ParallelTest.cpp -pthread -std=c++11 // Linux */ #include <iostream> #include <thread> void hello(){ std::cout << "Hello, parallel world!" << std::endl; } void Hi(int i){ std::cout << "Hello, parallel world from " << i << "-th thread, with Id " << std::this_thread::get_id() << std::endl; } int main(){ std::thread t(hello); t.join(); std::thread th1(Hi, 1); th1.join(); std::thread th2(Hi, 2); th2.join(); return 0; } | Программа успешно компилируется в соответствии со стандартом C++11 под Linux (RHEL 6.3, 64-бит, процессор Intel Core i7-3630QM 2.40GHz) и Windows Server 2003 с двумя виртуальными процессорами на виртуальной машине на этом же компьютере Код: $ ./a.out Hello, parallel world! Hello, parallel world from 1-th thread, with Id 139710563432192 Hello, parallel world from 2-th thread, with Id 139710563432192 $ g++ --version g++ (GCC) 4.9.2 |
Код: E:\User\C++>a Hello, parallel world! Hello, parallel world from 1-th thread, with Id 3 Hello, parallel world from 2-th thread, with Id 4 E:\User\C++>g++ --version g++ (tdm-1) 4.9.2 | Почему под Linux потоки 1 и 2 на самом деле вещают с одного потока? Где собака порылась? Спасибо
---------- Майкудук, Пришахтинск не предлагать!:) А на Пирогова приходит снова весенний гомон... |
|