Ik heb een probleem..
ik moet een Queue vullen met commando's, maar op de een of andere manier zijn alle elementen in de queue hetzelfde als het laatst toegevoegde element.
mijn functie om de queue te vullen, deze functie draait in een thread.
in diezelfde thread vul ik de queue met mijn character array
als ik nu de queue na 10 keer uit lees, lees ik alleen maar 10 keer het laatste element.
maar in een andere thread doe ik precies hetzelfde en wordt het wel juist ingevult en uitgelezen..
wat doe ik fout?
zo lees ik de queue uit
ik moet een Queue vullen met commando's, maar op de een of andere manier zijn alle elementen in de queue hetzelfde als het laatst toegevoegde element.
mijn functie om de queue te vullen, deze functie draait in een thread.
Code:
void Add_command(char*cmd)
{
printf("ADDED:[%s]\n",cmd);
Command_Queue.push(cmd);
}
Code:
Add_command((char*)command);
maar in een andere thread doe ik precies hetzelfde en wordt het wel juist ingevult en uitgelezen..
wat doe ik fout?
zo lees ik de queue uit
Code:
if(Command_Queue.size()>10)
{
while(Command_Queue.size()!=0)
{
printf("CMD:[%s][%s][%i]\n",Command_Queue.front(),Command_Queue.back(),Command_Queue.size());
Command_Queue.pop();
}
}
Laatst bewerkt: