I have this code:
		ThreadPoolExecutor executor = new ThreadPoolExecutor(8, 16, 10,TimeUnit.MINUTES,  new LinkedBlockingQueue<Runnable>() );
		executor.allowCoreThreadTimeOut(true);
		for(int  i = 0; i < 16;i++)
		{
			executor.execute(new neuralNetwork());
			try 
			{
				Thread.sleep(1000);
			} 
			catch (InterruptedException e) 
			{
				e.printStackTrace();
			}
		}
Why my program is not using all CPU power?I have 4 cores with hyperthreading . The program is using only 1.I am no linux mint.