Thread e estouro de pilha

4 respostas
ArchV

Olá pessoal.

Além da thread main, tenho outra thread que plota determinados gráficos a 0.5 segundos. No entanto, fui querer colocar mais uns metodos para esta thread executar, mas, este método é de recursividade e o que ocorre é o estouro da pilha.

A solução para isto seria eu criar uma outra thread para fazer o processamento destes metodos? será necessário sincronizar?

Existe outra possível solução? (não, não tem como tirar a recursividade do método).

Atenciosamente,

ArchV!

4 Respostas

davidtiagoconceicao

Toda recursividade tem que ter uma condição de término bem definida.
A sua condição está correta? O programa atinge um momento de término?
Geralmente o estouro de pilha na recursividade ocorre porque a recursividade não termina nunca.

ArchV

davidtiagoconceicao:
Toda recursividade tem que ter uma condição de término bem definida.
A sua condição está correta? O programa atinge um momento de término?
Geralmente o estouro de pilha na recursividade ocorre porque a recursividade não termina nunca.

Sim, era isso mesmo brother. percebi o erro aqui.

Mas, em questão de desempenho seria melhor eu criar uma nova thread para fazer esta recursão?

pedroroxd

ArchV:

Sim, era isso mesmo brother. percebi o erro aqui.

Mas, em questão de desempenho seria melhor eu criar uma nova thread para fazer esta recursão?


Nem sempre…

davidtiagoconceicao

Uma nova thread só é realmente necessária quando duas tarefas precisam ser executadas de forma concorrente (como se fosse simultâneamente). Avalie se isto é necessário para o seu programa.

Criado 14 de março de 2010
Ultima resposta 14 de mar. de 2010
Respostas 4
Participantes 3