Galera, vou expressar minha duvida
A situacao é a seguinte, estou desenvolvendo um projeto que é uma simulacao de um banco e gostaria de dicas de pessoas que ja fizeram algum projeto relacionado a isso(simulacao). Minhas dúvidas não são em relação a implementacao de funcionalidade de caixas, dos clientes, do banco etc. Minhas dúvidas são relacionadas ao controle de ''evento". Suponhamos que o usuario entre com o tempo que deseja simular, e o intervalo de chegada de novos clientes, ambos em segundos(Ficticio). E por exemplo uma situacao que estou quebrando a cabeca para solucionar, como poderia fazer com que um metodo continuem executando enquanto faço outras coisas, porém sem utilizar threads. Tipo minha situacao é a seguinte tenho um é método que gera clientes em intervalos de “10segundos”( um for de 0 ate 10 que seriam 10segundos). Segue exemplo dele
[code]}
Cliente* Evento::gerarClientesAleatorio(int tempoTotalSimulacao,
int tempoMediaChegadClientes) {
//suponha tempoMediaChegadClientes =10(segundos)
Cliente* cliente;
//se o tempo de simulacao é 30minutos->1800segundos->1800/10(10segundos a cada novo cliente, ou seja 180 clientes serão gerados)???
for (int i = 0; i < tempoTotalSimulacao / tempoMediaChegadClientes; i++) {
//cada “10segundos” gera um novo cliente
for (int i = 0; i < tempoMediaChegadClientes; i++) {
//“aguarda” o tempo de chega de novos clientes???
}
return new Cliente();;
}
return NULL;
}
[/code]
Eu sei que o return interrompe a execucao e que este método esta errado só tentei expressar meu pensamento, tentarei resolver isso, mas o PROBLEMA maior não é isso, seria esse meu controle, pois veja bem os clientes são gerados até o ultimo “segundo” de execucao do programa, e a maneira que eu estou fazendo isso não está certo pois eu estou apenas fazendo um cálculo e vendo quantos clientes entrariam naquele determinado tempo. Vou ser sincero estou numa confusão mental, e tenho quase certeza que não é para utilizar threads. Mas preciso de uma direção pois nunca fiz uma simulacao e estou quebrando a cabeca com esse controle de “evento”. Vou resumir como seria meu projeto, cada intervalo de tempo X, chegam novos clientes, automaticamente é feito um random para cada cliente referente a qtProdutos que ele vai comprar e automaticamente ele “ira” buscar a menor fila existente(há outras regras de negocio etc). E isso se repetirá até acabar o tempo total de simulacao definido pelo usuario. Gostaria se possível de dicas de como controlar esses eventos, se possível exemplos de uma situacao em que um metodo(geraClientes) seria chamado a cada intervalo de tempo X , enquanto os outros clientes(ou qq outro objeto) estariam executando acoes dentro do supermercado.
Grato, qualquer ajuda é válida
Att.