Re: Реализация передачи владения на С++0x
От: remark Россия http://www.1024cores.net/
Дата: 04.05.08 19:25
Оценка: 13 (1)
Здравствуйте, 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>


1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.