We want to connect the people who have knowledge to the people who need it, to bring together people with different perspectives so they can understand each other better, and to empower everyone to share their knowledge.
private boolean active; public void prepare() throws InterruptedException { new Thread(() -> { System.out.println("application preparing ..."); sleep(3); active = true; }) .start(); } public void start() throws Exception { new Thread(() -> { while(!active); System.out.println("application started"); }) .start(); }
application started
package dev.ozudo.volatile_atomic; public class VolatileExample { private boolean active; public void prepare() throws InterruptedException{ new Thread(()->{ System.out.println("application preparing"); System.out.println("name = "+Thread.currentThread().getName()); sleep(5); active = true; }).start(); } public void start() throws Exception{ new Thread(()->{ long time = System.currentTimeMillis(); while (!active){ // System.out.println("application started"); } if(active){ System.out.println("name = "+Thread.currentThread().getName()); System.out.println("stop app = "+(System.currentTimeMillis()-time)); } }).start(); } public void start2() throws Exception{ new Thread(()->{ long time = System.currentTimeMillis(); while (!active){ // System.out.println("application started"); } if(active){ System.out.println("name = "+Thread.currentThread().getName()); System.out.println("stop app 2222 = "+(System.currentTimeMillis()-time)); } }).start(); } private static void sleep(int seconds){ try { Thread.sleep(seconds*1000); } catch (InterruptedException e){ e.printStackTrace(); } } public static void main(String[] args) throws Exception { VolatileExample example = new VolatileExample(); example.prepare(); example.start(); example.start2(); sleep(1); } }
System.out.println("name = "+Thread.currentThread().getName());
2.2K Point(s)
1.2K Point(s)
313 Point(s)
178 Point(s)
138 Point(s)
Input your email to receive reset password link, or if you remember your password, you can click