Форум программистов, компьютерный форум CyberForum.ru

Многопоточность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Multimap зацикливается http://www.cyberforum.ru/cpp-beginners/thread939119.html
Всем добрый вечер, Помогите, пожалуйста разобраться с зацикленным "Not found". Поиск по названию блюда происходит нормально, а вот если ввести блюдо, которого нет - выводит миллион раз. Поиск осуществляется по значению в multimap. void Menu::SearchMenu(string dish) { multimap<Meal, Dish>::iterator it; cout<<"Search"<<" \""<<dish<<"\" "; for (it=MyMenu.begin();...
C++ Как узнать размер массива в динамической памяти? Добрый вечер еще раз! Напишите пожалуйста как можно узнать истинный размер массива, находящегося в динамической памяти, созданными при помощи malloc или calloc. Т.к. если выделить константный размер массива в динамической памяти (например char * ptr = (char*)calloc(10,1) и заполнить его 8 символами, то функция strlen(ptr) выдаст нам 8, в то время как массив имеет размер в 10 бит, а функция... http://www.cyberforum.ru/cpp-beginners/thread939094.html
C++ Ввод строки в динамический массив
Здравствуйте! Помоги пожалуйста разобраться со следующим: Как с клавиатуры ввести строковый литерал в символьный массив, расположенный в динамической памяти без фиксированного размера? char * ptr = new char; cin >> ptr; //или char * ptr = (char*) calloc(1,1); cin >> ptr; Использование "cin" - обрубает вносимый литерал на пробеле;
Компиляция нескольких файлов C++
Создал проект на wxDevC++ таким образом: потом создал три файла в проекте: coordin.h #ifndef COORDIN_H_ #define COORDIN_H_ struct haha {
C++ .h и .cpp файлы http://www.cyberforum.ru/cpp-beginners/thread939078.html
Если я объявляю в одном .h файле 3 класса, то могу ли я сделать полное определение методов для 3 классов в одном .cpp файле?
C++ Символ новой строки Всем привет) С маппировал текстовый файл в память. HANDLE file = CreateFile(fileNameWChar, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); DWORD fileSize = GetFileSize(file, NULL); HANDLE fileMap = CreateFileMapping(file, NULL, PAGE_READWRITE, 0, 0, NULL); char *pvFileSrc = (char *)MapViewOfFile(fileMap, FILE_MAP_WRITE, 0, 0, fileSize); если в... подробнее

Показать сообщение отдельно
kvadro
11 / 9 / 1
Регистрация: 12.03.2012
Сообщений: 127
17.08.2013, 17:32  [ТС]     Многопоточность
На синглтон вешается mutex, чтобы защититься от гонок при его инициализации.
Я просто неудачный пример привёл, сейчас покажу что хотел сказать.

А можно ли ответить на этот вопрос, не видя (или не зная) остального кода ?
Собственно класс World:
https://github.com/TrinityCore/Trini.../World/World.h

Основной поток:
https://github.com/TrinityCore/Trini...ver/Master.cpp

Вторичный поток:
https://github.com/TrinityCore/Trini...ldRunnable.cpp

Инициализация класса World всегда идёт в основном потоке до создания вторичного. Из-за этого непонятно зачем на синглтон вешать mutex.

В свою очередь свойство `i`, как раз и должно было завернуто в mutex.
Этот вопрос был задан чтоб убедится что я хоть немного понимаю принцип работы с потоками

Добавлено через 16 часов 58 минут
Убежденный
А не подскажите сразу, почему в C++ синглтон Майерса является потокобезопасным?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class OnlyOne
{
public:
        static const OnlyOne& Instance()
        {
                static OnlyOne theSingleInstance;
                return theSingleInstance;
        }
private:        
        OnlyOne(){};
        OnlyOne(const OnlyOne& root);
        OnlyOne& operator=(const OnlyOne&);
};
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru