Package com.packtpub.java7.concurrency.chapter5.recipe06.task

Examples of com.packtpub.java7.concurrency.chapter5.recipe06.task.Handler


   * store them in the navigable map
   */
  @Override
  public void run() {
    for (int i=0; i<1000; i++) {
      Contact contact=new Contact(id, String.valueOf(i+1000));
      map.put(id+contact.getPhone(), contact);
    }   
  }
View Full Code Here


  public static void main(String[] args) {

    /*
     * Creation of the custom executor
     */
    MyExecutor myExecutor=new MyExecutor(2, 4, 1000, TimeUnit.MILLISECONDS, new LinkedBlockingDeque<Runnable>());
   
    /*
     * Create a list to store the objects to control the execution of the tasks
     */
    List<Future<String>> results=new ArrayList<>();
   
    /*
     * Create and submit to the executor 10 tasks
     */
    for (int i=0; i<10; i++) {
      SleepTwoSecondsTask task=new SleepTwoSecondsTask();
      Future<String> result=myExecutor.submit(task);
      results.add(result);
    }
   
    /*
     * Get the result of the execution of the first five tasks
     */
    for (int i=0; i<5; i++){
      try {
        String result=results.get(i).get();
        System.out.printf("Main: Result for Task %d : %s\n",i,result);
      } catch (InterruptedException | ExecutionException e) {
        e.printStackTrace();
      }
    }
   
    /*
     * Call the shutdown method
     */
    myExecutor.shutdown();
   
    /*
     * Get the results of the execution of the last five tasks
     */
    for (int i=5; i<10; i++){
      try {
        String result=results.get(i).get();
        System.out.printf("Main: Result for Task %d : %s\n",i,result);
      } catch (InterruptedException | ExecutionException e) {
        e.printStackTrace();
      }
    }
   
    /*
     * Wait for the finalization of the Executor
     */
    try {
      myExecutor.awaitTermination(1, TimeUnit.DAYS);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
   
    /*
 
View Full Code Here

   
    /*
     * Create and submit to the executor 10 tasks
     */
    for (int i=0; i<10; i++) {
      SleepTwoSecondsTask task=new SleepTwoSecondsTask();
      Future<String> result=myExecutor.submit(task);
      results.add(result);
    }
   
    /*
 
View Full Code Here

    /*
     * Send four task to the executor
     */
    for (int i=0; i<4; i++){
      MyPriorityTask task=new MyPriorityTask("Task "+i,i);
      executor.execute(task);
    }
   
    /*
     * sleep the thread during one second
     */
    try {
      TimeUnit.SECONDS.sleep(1);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
   
    /*
     * Send four tasks to the executor
     */
    for (int i=4; i<8; i++) {
      MyPriorityTask task=new MyPriorityTask("Task "+i,i);
      executor.execute(task);     
    }
   
    /*
     * Shutdown the executor
View Full Code Here

    ExecutorService executor=Executors.newCachedThreadPool(threadFactory);
   
    /*
     * Create a new Task object
     */
    MyTask task=new MyTask();
   
    /*
     * Submit the task
     */
    executor.submit(task);
 
View Full Code Here

  public static void main(String[] args) throws Exception {
   
    /*
     * Create a new MyThreadFactory object
     */
    MyThreadFactory threadFactory=new MyThreadFactory("MyThreadFactory");
   
    /*
     * Create a new ThreadPoolExecutor and configure it for use the
     * MyThreadFactoryObject created before as the factory to create the threads
     */
 
View Full Code Here

  public static void main(String[] args) throws Exception {
   
    /*
     * Create a MyScheduledThreadPool object
     */
    MyScheduledThreadPoolExecutor executor=new MyScheduledThreadPoolExecutor(2);
   
    /*
     * Create a task object 
     */
    Task task=new Task();
   
    /*
     * Write the start date of the execution
     */
    System.out.printf("Main: %s\n",new Date());
   
    /*
     * Send to the executor a delayed task. It will be executed after 1 second of delay
     */
    executor.schedule(task, 1, TimeUnit.SECONDS);
   
    /*
     * Sleeps the thread three seconds
     */
    TimeUnit.SECONDS.sleep(3);
   
    /*
     * Create another task
     */
    task=new Task();
   
    /*
     * Write the actual date again
     */
    System.out.printf("Main: %s\n",new Date());
   
    /*
     * Send to the executor a delayed task. It will begin its execution after 1 second of dealy
     * and then it will be executed every three seconds
     */
    executor.scheduleAtFixedRate(task, 1, 3, TimeUnit.SECONDS);
   
    /*
     * Sleep the thread during ten seconds
     */
    TimeUnit.SECONDS.sleep(10);

    /*
     * Shutdown the executor
     */
    executor.shutdown();
   
    /*
     * Wait for the finalization of the executor
     */
    executor.awaitTermination(1, TimeUnit.DAYS);
   
    /*
     * Write a message indicating the end of the program
     */
    System.out.printf("Main: End of the program.\n");
View Full Code Here

    MyScheduledThreadPoolExecutor executor=new MyScheduledThreadPoolExecutor(2);
   
    /*
     * Create a task object 
     */
    Task task=new Task();
   
    /*
     * Write the start date of the execution
     */
    System.out.printf("Main: %s\n",new Date());
   
    /*
     * Send to the executor a delayed task. It will be executed after 1 second of delay
     */
    executor.schedule(task, 1, TimeUnit.SECONDS);
   
    /*
     * Sleeps the thread three seconds
     */
    TimeUnit.SECONDS.sleep(3);
   
    /*
     * Create another task
     */
    task=new Task();
   
    /*
     * Write the actual date again
     */
    System.out.printf("Main: %s\n",new Date());
View Full Code Here

    }
   
    /*
     * Create a new Task to sum the elements of the array
     */
    MyRecursiveTask task=new MyRecursiveTask(array,0,array.length);
   
    /*
     * Send the task to the ForkJoinPool
     */
    pool.execute(task);
   
   
    /*
     * Wait for the finalization of the task
     */
    task.join();
   
    /*
     * Shutdown the pool
     */
    pool.shutdown();
   
    /*
     * Wait for the finalization of the pool
     */
    pool.awaitTermination(1, TimeUnit.DAYS);
   
    /*
     * Write the result of the task
     */
    System.out.printf("Main: Result: %d\n",task.get());
   
    /*
     * Write a message indicating the end of the program
     */
    System.out.printf("Main: End of the program\n");
View Full Code Here

  public static void main(String[] args) throws Exception {

    /*
     * Create a new MyWorkerThreadFactory
     */
    MyWorkerThreadFactory factory=new MyWorkerThreadFactory();
   
    /*
     * Create new ForkJoinPool, passing as parameter the factory created before
     */
    ForkJoinPool pool=new ForkJoinPool(4, factory, null, false);
View Full Code Here

TOP

Related Classes of com.packtpub.java7.concurrency.chapter5.recipe06.task.Handler

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.