Package com.packtpub.java7.concurrency.chapter1.recipe12.task

Examples of com.packtpub.java7.concurrency.chapter1.recipe12.task.Task


    ReportRequest onlineRequest=new ReportRequest("Online", service);
    Thread faceThread=new Thread(faceRequest);
    Thread onlineThread=new Thread(onlineRequest);
   
    // Create a ReportSender object and a Thread to execute  it
    ReportProcessor processor=new ReportProcessor(service);
    Thread senderThread=new Thread(processor);
   
    // Start the Threads
    System.out.printf("Main: Starting the Threads\n");
    faceThread.start();
    onlineThread.start();
    senderThread.start();
   
    // Wait for the end of the ReportGenerator tasks
    try {
      System.out.printf("Main: Waiting for the report generators.\n");
      faceThread.join();
      onlineThread.join();
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
   
    // Shutdown the executor
    System.out.printf("Main: Shuting down the executor.\n");
    executor.shutdown();
    try {
      executor.awaitTermination(1, TimeUnit.DAYS);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    // End the execution of the ReportSender
    processor.setEnd(true);
    System.out.printf("Main: Ends\n");

  }
View Full Code Here


    // Create the executor and thee CompletionService using that executor
    ExecutorService executor=(ExecutorService)Executors.newCachedThreadPool();
    CompletionService<String> service=new ExecutorCompletionService<>(executor);

    // Crete two ReportRequest objects and two Threads to execute them
    ReportRequest faceRequest=new ReportRequest("Face", service);
    ReportRequest onlineRequest=new ReportRequest("Online", service);
    Thread faceThread=new Thread(faceRequest);
    Thread onlineThread=new Thread(onlineRequest);
   
    // Create a ReportSender object and a Thread to execute  it
    ReportProcessor processor=new ReportProcessor(service);
View Full Code Here

   * @param args
   */
  public static void main(String[] args) {

    // Create the controller for the Rejected tasks
    RejectedTaskController controller=new RejectedTaskController();
    // Create the executor and establish the controller for the Rejected tasks
    ThreadPoolExecutor executor=(ThreadPoolExecutor)Executors.newCachedThreadPool();
    executor.setRejectedExecutionHandler(controller);
   
    // Lauch three tasks
View Full Code Here

    executor.setRejectedExecutionHandler(controller);
   
    // Lauch three tasks
    System.out.printf("Main: Starting.\n");
    for (int i=0; i<3; i++) {
      Task task=new Task("Task"+i);
      executor.submit(task);
    }
   
    // Shutdown the executor
    System.out.printf("Main: Shuting down the Executor.\n");
    executor.shutdown();

    // Send another task
    System.out.printf("Main: Sending another Task.\n");
    Task task=new Task("RejectedTask");
    executor.submit(task);
   
    // The program ends
    System.out.printf("Main: End.\n");
   
View Full Code Here

    // Create a random number generator
    Random random=new Random();
    // Create and send to the executor the ten tasks
    for (int i=0; i<10; i++){
      Integer number=new Integer(random.nextInt(10));
      FactorialCalculator calculator=new FactorialCalculator(number);
      Future<Integer> result=executor.submit(calculator);
      resultList.add(result);
    }
   
    // Wait for the finalization of the ten tasks
View Full Code Here

    FileSearch system=new FileSearch("C:\\Windows", "log");
    FileSearch apps=new FileSearch("C:\\Program Files","log");
    FileSearch documents=new FileSearch("C:\\Documents And Settings","log");
   
    // Create three Task objects
    Task systemTask=new Task(system,null);
    Task appsTask=new Task(apps,null);
    Task documentsTask=new Task(documents,null);
   
    // Submit the Tasks to the Executor
    executor.submit(systemTask);
    executor.submit(appsTask);
    executor.submit(documentsTask);
   
    // Shutdown the executor and wait for the end of the tasks
    executor.shutdown();
    try {
      executor.awaitTermination(1, TimeUnit.DAYS);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
   
    // Write to the console the number of results
    try {
      System.out.printf("Main: System Task: Number of Results: %d\n",systemTask.get().size());
      System.out.printf("Main: App Task: Number of Results: %d\n",appsTask.get().size());
      System.out.printf("Main: Documents Task: Number of Results: %d\n",documentsTask.get().size());
    } catch (InterruptedException e) {
      e.printStackTrace();
    } catch (ExecutionException e) {
      e.printStackTrace();
    }
View Full Code Here

    // Create two user validation objects
    UserValidator ldapValidator=new UserValidator("LDAP");
    UserValidator dbValidator=new UserValidator("DataBase");
   
    // Create two tasks for the user validation objects
    TaskValidator ldapTask=new TaskValidator(ldapValidator, username, password);
    TaskValidator dbTask=new TaskValidator(dbValidator,username,password);
   
    // Add the two tasks to a list of tasks
    List<TaskValidator> taskList=new ArrayList<>();
    taskList.add(ldapTask);
    taskList.add(dbTask);
View Full Code Here

    // Initialize the parameters of the user
    String username="test";
    String password="test";
   
    // Create two user validation objects
    UserValidator ldapValidator=new UserValidator("LDAP");
    UserValidator dbValidator=new UserValidator("DataBase");
   
    // Create two tasks for the user validation objects
    TaskValidator ldapTask=new TaskValidator(ldapValidator, username, password);
    TaskValidator dbTask=new TaskValidator(dbValidator,username,password);
   
View Full Code Here

    // Writes the results to the console
    System.out.printf("Core: Printing the results\n");
    for (int i=0; i<resultList.size(); i++){
      Future<Result> future=resultList.get(i);
      try {
        Result result=future.get();
        System.out.printf("%s: %s\n",result.getName(),result.getValue());
      } catch (InterruptedException | ExecutionException e) {
        e.printStackTrace();
      }
    }
  }
View Full Code Here

    ExecutorService executor=(ExecutorService)Executors.newCachedThreadPool();

    // Create three tasks and stores them in a List
    List<Task> taskList=new ArrayList<>();
    for (int i=0; i<3; i++){
      Task task=new Task("Task-"+i);
      taskList.add(task);
    }

    // Call the invokeAll() method
    List<Future<Result>>resultList=null;
View Full Code Here

TOP

Related Classes of com.packtpub.java7.concurrency.chapter1.recipe12.task.Task

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.