Skip to main content

Join on multiple threads in java


Join() : If a thread (name it T1) calls the join method on another Thread named T2, then T1 waits for T2 to complete its execution before it continues from that point.

below is the example of thread join .

Thread 1:
package com.thread;

public class MyThread1 extends Thread {

 public void run() {

  //Thread T-2 
  MyThread2 t2 = new MyThread2();
  t2.setName("t2");
  //T2 started
  t2.start();

  try {
   //Thread T-1 wait till Thread T-2 get completed
   t2.join();
   
  } catch (InterruptedException e1) {
   e1.printStackTrace();
  }

  //Thread -1  logic
  for (int i = 0; i < 5; i++) {
   System.out.println("child Thread -1 " + Thread.currentThread().getName());
   try {
    Thread.sleep(1000);
   } catch (Exception e) {
    System.out.println(e);
   }
  }
 }
}



Thread 2:

package com.thread;

public class MyThread2 extends Thread {

 public void run() {
  
  //Thread -2 logic
  for (int i = 0; i < 5; i++) {
   System.out.println("child Thread -2 " + Thread.currentThread().getName());
   try {
    Thread.sleep(1000);
   } catch (Exception e) {
    System.out.println(e);
   }
  }
 }
}



Thread runner class:
package com.thread;

public class ThreadRun {

 //Main Thread
 public static void main(String args[]) {
  
  //Thread T-1
  MyThread1 t1 = new MyThread1();
  t1.setName("t1");
  
  try {
   //start thread T-1
   t1.start();
   //Main thread wait for T1 to complete
   t1.join();
   
  } catch (InterruptedException e) {
   e.printStackTrace();
  }
  
  //Main thread logic
  for (int i = 0; i < 5; i++) {
   System.out.println("Main Thread");
  }
 }

}



Output:
child Thread -2 t2
child Thread -2 t2
child Thread -2 t2
child Thread -2 t2
child Thread -2 t2
child Thread -1 t1
child Thread -1 t1
child Thread -1 t1
child Thread -1 t1
child Thread -1 t1
Main Thread
Main Thread
Main Thread
Main Thread
Main Thread

Comments

Popular posts from this blog

Extent report plugin for cucumber framework

Extent Reports  are the most popular  reporting  used with Selenium. ExtentReport API makes our life easy to generate interactive  report  with simple configuartions. It supports almost all Java and .NET test frameworks such as TestNG , JUnit , NUnit etc Here we are discussing about  a plugin which is build on  Extent Report specially for Cucumber. This plugin is used to simple out the implementation of  Extent Report  in  Cucumber Framework .  We are creating a maven project to implement the integration of our plugin with cucumber 1. Create new maven project in any tool eclipse/sts/intellij 2. Open pom.xml and update below entries. Step 1 : Add Cucumber Extent Reporter library to Maven Project Add  cucumber-extentsreport <dependency>      <groupId> com.vimalselvam </groupId>      <artifactId> cucumber-extentsreport </artif...

java: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.

  In order to make projects compile with the existing builds of Lombok processor, as a workaround you can use the flag -Djps.track.ap.dependencies=false which should be added to File | Settings | Build, Execution, Deployment | Compiler | Build process VM options field. This will disable collection of dependencies specified by an annotation processor when Filer methods are called

Learn Docker Beginner

If you are in Software industry then you must use this phrase to prove yourself. But I m sure after reading this tutorial you won't be able to say this again. 1. What is Docker Docker is a software platform designed to make it easier to create, deploy, and run applications by using containers. It allows developers to package up an application with all the parts it needs in a container, and then ship it out as one package 2. Virtual Machines vs. Docker Virtual machines have a full OS with its own memory management installed with the associated overhead of virtual device drivers. Every guest OS runs as an individual entity from the host system. On the other hand Docker containers are executed with the Docker engine rather than the hypervisor. 3. Introduction to Dockerfiles, images and containers A Dockerfile is a text file that Docker reads in from top to bottom. It contains a bunch of instructions which informs Docker HOW the Docker ima...