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

Examples of com.packtpub.java7.concurrency.chapter5.recipe04.task.Task


    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

   
    System.out.printf("Main: Starting at: %s\n",new Date());
   
    // Send the tasks to the executor with the specified delay
    for (int i=0; i<5; i++) {
      Task task=new Task("Task "+i);
      executor.schedule(task,i+1 , TimeUnit.SECONDS);
    }
   
    // Finish the executor
    executor.shutdown();
View Full Code Here

    ScheduledExecutorService executor=Executors.newScheduledThreadPool(1);
    System.out.printf("Main: Starting at: %s\n",new Date());

    // Create a new task and sends it to the executor. It will start with a delay of 1 second and then
    // it will execute every two seconds
    Task task=new Task("Task");
    ScheduledFuture<?> result=executor.scheduleAtFixedRate(task, 1, 2, TimeUnit.SECONDS);
   
    // Controlling the execution of tasks
    for (int i=0; i<10; i++){
      System.out.printf("Main: Delay: %d\n",result.getDelay(TimeUnit.MILLISECONDS));
View Full Code Here

   
    // Create an executor
    ThreadPoolExecutor executor=(ThreadPoolExecutor)Executors.newCachedThreadPool();
   
    // Create a task
    Task task=new Task();
   
    System.out.printf("Main: Executing the Task\n");

    // Send the task to the executor
    Future<String> result=executor.submit(task);
View Full Code Here

    // Create a list of products
    ProductListGenerator generator=new ProductListGenerator();
    List<Product> products=generator.generate(10000);
   
    // Craete a task
    Task task=new Task(products, 0, products.size(), 0.20);
   
    // Create a ForkJoinPool
    ForkJoinPool pool=new ForkJoinPool();
   
    // Execute the Task
    pool.execute(task);

    // Write information about the pool
    do {
      System.out.printf("Main: Thread Count: %d\n",pool.getActiveThreadCount());
      System.out.printf("Main: Thread Steal: %d\n",pool.getStealCount());
      System.out.printf("Main: Paralelism: %d\n",pool.getParallelism());
      try {
        TimeUnit.MILLISECONDS.sleep(5);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    } while (!task.isDone());
 
    // Shutdown the pool
    pool.shutdown();
   
    // Check if the task has completed normally
    if (task.isCompletedNormally()){
      System.out.printf("Main: The process has completed normally.\n");
    }

    // Expected result: 12. Write products which price is not 12
    for (int i=0; i<products.size(); i++){
View Full Code Here

  /**
   * Method that updates the prices of the assigned products to the task
   */
  private void updatePrices() {
    for (int i=first; i<last; i++){
      Product product=products.get(i);
      product.setPrice(product.getPrice()*(1+increment));
    }
  }
 
View Full Code Here

TOP

Related Classes of com.packtpub.java7.concurrency.chapter5.recipe04.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.