Jul 18, 2024
private static Browser browserInstance;private Browser() {}
public static Browser getInstance() {
if (browserInstance == null) {
browserInstance = new Browser();
}
return browserInstance;
}
public class Browser {
private static Browser browserInstance;
private Browser() {}
public static Browser getInstance() {
if (browserInstance == null) {
browserInstance = new Browser();
}
return browserInstance;
}
public void displayMessage() {
System.out.println("Browser info");
}
}
public class TestBrowser {
public static void main(String[] args) {
Browser br = Browser.getInstance();
br.displayMessage();
}
}
new Browser() because of private constructorBrowser.getInstance() to get the instancepublic static synchronized Browser getInstance() {
if (browserInstance == null) {
browserInstance = new Browser();
}
return browserInstance;
}
public static Browser getInstance() {
if (browserInstance == null) {
synchronized (Browser.class) {
if (browserInstance == null) {
browserInstance = new Browser();
}
}
}
return browserInstance;
}
private static volatile Browser browserInstance;
public class BrowserTask implements Runnable {
public void run() {
Browser br = Browser.getInstance();
br.displayMessage();
}
}
public class TestBrowser {
public static void main(String[] args) {
Thread t1 = new Thread(new BrowserTask());
Thread t2 = new Thread(new BrowserTask());
t1.start();
t2.start();
// Join threads to main thread
t1.join();
t2.join();
}
}
getInstance methodThank you for watching!