Здравствуйте! Какая есть внятная литература по реальному применению C++11, конкретно интересует многопоточность и умные указатели и boost::asio. Хочется видеть конкретные примеры применения, потому как по оф. докам да на англицком очень тяжко.
Плюс оцените корректность кода. Это некий абстрактный таймер, который запускает метод другого класса через определенные интервалы времени. Но, если не ошибаюсь, на gcc под linux и на TDM-GCC под виндой все ок, но на mingw флаг остановки таймера по значению не изменялся, только при передаче его в поток через указатель. Как правильно? Спасибо!
//Некий объект, которому нужен таймер
class Object
{
//поле объекта, изменяемое в новом потоке
volatile uint32_t m_counter;
public:
Object():m_counter(0){};
//Выполняется в таймере
void operator()(void* arg)
{
int a=*(int*)arg;
cout << "arg = " << a << "; field = " << *(&m_counter) << endl;
Inc();
}
//Метод объекта, вызываемый в новом потоке
void Inc()
{
++m_counter;
}
};
int main()
{
int a=5;
Timer tm;
Object obj;
tm.setTime(100);
tm.connect(obj, &a);
tm.run();
cin.get();
tm.stop();
Код лень смотреть после stdint.h. На этом "энтузиазм" угас. Учить англ. Почти без вариантов. Даже на аве у Вас написано по англ. Техн. английский, если знать более-менее предмет - не такой сложный. Вот реально хотите, чтобы там был исковерканный перевод на русский? Ну или тут недавно был разговор о путанице в русском между потоками ввода-вывода (stream) и потоками (thread).