Java-Synchronized Block

Synchronized Block Imagine that you want to synchronize access to objects of a class that was not designed for multithreaded access. That is, the class does not use synchronized methods. Further, this class was not created by you, but by a third party, and you do not have access to the source code. Thus, you … Read more…

Java-Synchronization(Example Two)

Program : without Synchronization Program : with Synchronization Program Source : without Synchronization class TicketCounter{ int availableSeats = 2; void bookTicket(String pname,int numberOfSeats) { if((availableSeats>=numberOfSeats)&&(numberOfSeats>0)) { System.out.println(pname+” : “+numberOfSeats+” Seats Booking Success”); availableSeats-=numberOfSeats; }else System.out.println(pname+” : Seats Not Available”); } } class TicketBookingThread extends Thread{ TicketCounter tc; String name; int seats; TicketBookingThread(TicketCounter t,String pname,int pseats) { tc = … Read more…

Java-Synchronization

Synchronization So far, we have seen threads that use their own data and methods provided inside their run( ) methods. What happens when they try to use data and methods outside themselves? On such occasions, they may compete for the same resources and may lead to serious problems. For example, one thread may try to … Read more…