package com.example.thread;

import java.util.Random;
import java.util.concurrent.Callable;

public class MyCallable implements Callable<Integer> {

	@Override
	public Integer call() throws Exception {
		// keep track of running thread
    	System.out.println(Thread.currentThread().getName() + " is running...");
    	
		// create a random number generator
		Random generator = new Random();
		Integer randomNumber = generator.nextInt(5);

		// to simulate heavy computation/long process
		// we delay the thread for some random time
		Thread.sleep(1000); // miliseconds
		return randomNumber;
	}

}
