Showing posts with label ref:https://codesjava.com/synchronized-block-in-java. Show all posts
Showing posts with label ref:https://codesjava.com/synchronized-block-in-java. Show all posts

Tuesday, May 7, 2019

synchronization

class PrintTable{   
    public void printTable(int n){
       synchronized(this){
       System.out.println("Table of " + n);
           for(int i=1;i<=10;i++){
               System.out.println(n*i); 
               try{ 
            Thread.sleep(500); 
               }catch(Exception e){
            System.out.println(e);
               } 
            }
       }           
    } 


class MyThread1 extends Thread{ 
    PrintTable pt; 
    MyThread1(PrintTable pt){ 
    this.pt=pt; 
    } 
    public void run(){
    pt.printTable(2); 
    }       


class MyThread2 extends Thread{ 
PrintTable pt; 
MyThread2(PrintTable pt){ 
this.pt=pt; 

public void run(){ 
pt.printTable(5); 



public class p1{ 
    public static void main(String args[]){
    //creating PrintTable object.
    PrintTable obj = new PrintTable(); 

    //creating threads.
    MyThread1 t1=new MyThread1(obj); 
    MyThread2 t2=new MyThread2(obj); 

    //start threads.
    t1.start(); 
    t2.start(); 
    } 
}



C:\Users\Com science\Documents>java p1
Table of 2
2
4
6
8
10
12
14
16
18
20
Table of 5
5
10
15
20
25
30
35
40
45
50

C:\Users\Com science\Documents>