/ / Como criar e implementar adequadamente uma classe de tipo ThreadPool em Java - java, multithreading, threadpool

Como criar e implementar corretamente uma classe de tipo ThreadPool em Java - java, multithreading, threadpool

Eu gostaria de fazer minha própria classe de tipo ThreadPool em Java (eu tentei no passado e continuei recebendo exceções simultâneas - eu esqueci o erro específico) e eu estou de volta para ele novamente.

Isso seria usado para voar, criar facilmentediferentes encadeamentos para executar diferentes processos simultaneamente e, quando uma tarefa é finalizada no encadeamento para o qual foi passada, ela seria reciclada e reutilizada para outra finalidade. Isso é para um mecanismo de jogo 2D em Java que eu mesmo codifiquei.

Isso seria usado para coisas como colisão, áudio, gerenciamento de animação, tempo, controles, etc. Estas são apenas opções pelo motivo que eu preciso de uma classe ThreadPool.

Problema: A última vez que tentei isso, criei uma classe ThreadPool que continha uma matriz do tipo "AudioThread" (ou algo semelhante) que era uma classe interna que substituía o método "run". Ao criar uma classe ThreadPool, eu passaria um número de threads para ser criado e que seria armazenado na matriz para posterior manipulação.

Em seguida, tente criar métodos como "assignTask (tarefa ThreadTask)", "freeThread ()", getFreeThread (). Mas de fazer alterações nos threads, eu recebi alguns erros concorrentes.

Bottom line, alguém tem experiência em fazer uma classe de tipo ThreadPool que pode oferecer experiência para o que eu posso e não posso fazer? Sugestões para corrigir este problema? Conselhos? Pensamentos?

Obrigado.

Respostas:

1 para resposta № 1

Você provavelmente quer usar ThreadPoolExecutor. Parece que faz exatamente o que você quer.