Quiero usar multihilo en mi mmorpg en C++, tengo 5 hilos en este momento, y quiero dividir otro en dos, pero mi servidor mmorpg contiene muchos vectores y porque los vectores no son seguros de escribir, no puedo hacerlo correctamente.multiprocesamiento en c en mmorpg
¿Existe alguna alternativa al uso de vectores en los subprocesos, o hay una manera de hacer que el vector de lectura/escritura multirruta sea seguro?
Heres un ejemplo de lo que quiero, trato de encontrar una alternativa a algo como esto: Obviamente, esto no es código real, estoy simplemente haciendo un ejemplo.
//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 >.<
Gracias, ¿pueden explicar cómo usar esto y cómo funciona? :) –
Por favor, eche un vistazo a: http://en.cppreference.com/w/cpp/thread/lock –
Esto no funcionará muy bien. Porque estás bloqueando toda la matriz. Entonces, si bien puede tener múltiples hilos, todos estarán esperando el uno al otro para acceder al vector. Por lo tanto, las operaciones en el vector tendrán las mismas características de rendimiento que si estuvieran en un solo hilo. –