JAVAFX Service creates new threads
Kevin Rushforth
kevin.rushforth at oracle.com
Mon Sep 8 16:12:59 UTC 2014
You're welcome.
-- Kevin
Francisco Javier Godino wrote:
> Hi Kevin:
>
> It was resolved with your help.
> I included this lines:
>
> ExecutorService executorService = Executors.newSingleThreadExecutor();
>
> CapturadoraDeImagenService.getInstance().setExecutor(executorService);
>
> Thanks a lot!
>
> Francisco Javier
>
>
>
>
>
> On Saturday, September 6, 2014 2:32 PM, Kevin Rushforth
> <kevin.rushforth at oracle.com> wrote:
>
>
> This is documented in the API docs for the Service class:
>
> The Service by default uses a thread pool Executor with some
> unspecified default or maximum thread pool size. This is done so
> that naive code will not completely swamp the system by creating
> thousands of Threads.
>
>
> You need to specify your own Executor if you want to change this
> default behavior.
>
> -- Kevin
>
>
>
> Francisco Javier Godino wrote:
>> Hello:
>>
>> I have a issue with a Service.
>> I developed thisService.
>> It's an extension of Service:
>>
>>
>> public class MostrarImagenesService extends Service{
>> ...
>>
>> @Override
>>
>> protected Task createTask() {
>> return new Task() {
>>
>> @Override
>> protected Object call() throws Exception {
>>
>> ......
>>
>> return null;
>>
>> }
>> }
>>
>>
>>
>> This is the way that I invoque the service:
>>
>>
>> switch (MostrarImagenesService.getInstance().getState()) {
>>
>> case READY:
>> MostrarImagenesService.getInstance().start();
>>
>>
>> break;
>>
>> case SUCCEEDED:
>>
>>
>> MostrarImagenesService.getInstance().restart();
>>
>> break;
>>
>> default:
>>
>> log.info("GrabadoraDeImagenesService State: Grabadora en Funcionamiento");
>>
>> }
>>
>>
>>
>> I see this in the log:
>>
>> [Thread-10] INFO servicios.MostrarImagenesService - MostrarImagenesService: call INICIO trama:00552
>>
>> the second time that i invoque the service:
>>
>> [Thread-14] INFO servicios.MostrarImagenesService - MostrarImagenesService: call INICIO trama:00553
>>
>> It is running over a new Thread (Thread 14).
>>
>>
>>
>> How I can avoid creating new thread?
>> This service will be constantly invoked.
>> Can this affect the VM?
>>
>> Thanks
>>
>
>
More information about the openjfx-dev
mailing list