package com.example.lock;

public class ReadWriteLockExample {

	public static void main(String[] args) {

		SharedResourceRW resource = new SharedResourceRW();

		Writer writer1 = new Writer(resource, "writer1");
		Writer writer2 = new Writer(resource, "writer2");
		Reader reader1 = new Reader(resource, "reader1");
		Reader reader2 = new Reader(resource, "reader2");
		writer1.start();
		writer2.start();
		reader1.start();
		reader2.start();

//		try {
//			writer1.join();
//			writer2.join();
//			reader1.join();
//			reader2.join();
//		} catch (InterruptedException ex) {
//		}
		
		System.out.println("Final counter value: " + resource.getCounter());
	}

}
