Здравствуйте, remark, Вы писали:
R>Глядим коротко, что нас, пользователей С/С++, ждёт нового в С++0x относительно поддержки многопоточности:
Недавно был вопрос по поводу реализации простейшего паттерна в С++:
http://gzip.rsdn.ru/forum/message/2909622.1.aspxАвтор: NightWind
Дата: 09.04.08
Реализация достаточно не тривиальная + не портируемая:
http://gzip.rsdn.ru/forum/message/2911323.1.aspxАвтор: remark
Дата: 10.04.08
На С++0х это будет реализовываться таким (уже портабельным) способом:
#include <cstdatomic>
#include <vector>
#include <iostream>
std::atomic_bool g_data_init;
std::vector<int> g_data
void tread1()
{
g_data.push_back(0);
g_data_init.store(true, std::memory_model_release);
}
void tread2()
{
while (false == g_data_init.load(std::memory_model_acquire)) {}
std::cout << g_data[0];
}
R>