многопоточность в c в mmorpg

Я хочу использовать многопоточность в своей mmorpg на С++, на данный момент у меня 5 потоков, и я хочу разделить еще один на два, но мой сервер mmorpg состоит из множества векторов, и поскольку векторы не являются потокобезопасными для записи, я не могу сделать это правильно.

Есть ли альтернатива использованию векторов между потоками или есть ли способ сделать векторное чтение/запись многопоточным безопасным.

Вот пример того, чего я не хочу, попробуйте найти альтернативу чему-то подобному :Очевидно, что это не настоящий код, я просто делаю пример.

//Thread1
//Load monster and send data to the player
globals::monstername[myid];//Myid = 1 for now -.-
senddata(globals::monstername[myid]);//Not the actual networking code, im just lazy.

//Thread2
//Create a monster and manage it
globals::monstername.push_back("FatBlobMonster");
//More managing code i cant be bothered inserting >.<
5
задан Moataz Elmasry 26 July 2012 в 13:41
поделиться