Locks at Stateful.co
For example, you need a lock available online and shared among multiple processes running on different nodes in the network. Here is how you do it in Java, using this SDK:
import co.stateful.Counter; import co.stateful.Counters; import co.stateful.Sttc; import co.stateful.RtSttc; import com.jcabi.urn.URN; public class Main { public static void main(String... args) throws Exception { Sttc sttc = new RtSttc( new URN("urn:github:526301"), "9FF3-41E0-73FB-F900" ); Lock lock = sttc.locks().get("my-test-lock"); new Atomic<Void>( new Callable<Void>() { @Override public Void call() { System.out.println("this call is synchronized"); } }, lock ).call(); } }
If you want to use Runnable instead, try static method java.util.concurrent.Executors#callable(Runnable). If you want to avoid checked exceptions, try Callable from tempusfugitlibrary.org.