package app;

import com.google.inject.Provider;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class MyAppExecutorServiceProvider
        implements Provider<ExecutorService>
{

    // This is how we enforce the singleton-ness of our app's global ExecutorService, classic singelton style
    // We could have also used an enum
    private static final ExecutorService singletonExecutorService = Executors.newSingleThreadExecutor();

    @Override
    public ExecutorService get()
    {
        return singletonExecutorService;
    }
}