Package com.packtpub.java7.concurrency.chapter1.recipe4.core

Examples of com.packtpub.java7.concurrency.chapter1.recipe4.core.Main


   
    // Creates the exchanger
    Exchanger<List<String>> exchanger=new Exchanger<>();
   
    // Creates the producer
    Producer producer=new Producer(buffer1, exchanger);
    // Creates the consumer
    Consumer consumer=new Consumer(buffer2, exchanger);
   
    // Creates and starts the threads
    Thread threadProducer=new Thread(producer);
View Full Code Here


   * Main method of the example
   * @param args
   */
  public static void main(String[] args) {
    // Create the server
    Server server=new Server();
   
    // Send 100 request to the server and finish
    for (int i=0; i<100; i++){
      Task task=new Task("Task "+i);
      server.executeTask(task);
    }
   
    server.endServer();

  }
View Full Code Here

    // Create the server
    Server server=new Server();
   
    // Send 100 request to the server and finish
    for (int i=0; i<100; i++){
      Task task=new Task("Task "+i);
      server.executeTask(task);
    }
   
    server.endServer();
View Full Code Here

    ExecutorService executor=(ExecutorService)Executors.newCachedThreadPool();
   
    //Create five tasks
    ResultTask resultTasks[]=new ResultTask[5];
    for (int i=0; i<5; i++) {
      ExecutableTask executableTask=new ExecutableTask("Task "+i);
      resultTasks[i]=new ResultTask(executableTask);
      executor.submit(resultTasks[i]);
    }
   
    // Sleep the thread five seconds
View Full Code Here

  public static void main(String[] args) {
    // Create an executor
    ExecutorService executor=(ExecutorService)Executors.newCachedThreadPool();
   
    //Create five tasks
    ResultTask resultTasks[]=new ResultTask[5];
    for (int i=0; i<5; i++) {
      ExecutableTask executableTask=new ExecutableTask("Task "+i);
      resultTasks[i]=new ResultTask(executableTask);
      executor.submit(resultTasks[i]);
    }
   
    // Sleep the thread five seconds
    try {
View Full Code Here

    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

    // 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

  public static void main(String[] args) {
    // Create a new Executor
    ThreadPoolExecutor executor=(ThreadPoolExecutor)Executors.newCachedThreadPool();

    // Create three FileSearch objects
    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);
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

TOP

Related Classes of com.packtpub.java7.concurrency.chapter1.recipe4.core.Main

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.