Mercurial > hg > Database > Christie
changeset 29:be58bfe90766
remove synchronized
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 01 Feb 2018 20:12:02 +0900 |
parents | d1fc3ebb269e |
children | 250ae646db7f |
files | src/main/java/christie/codegear/CodeGearManager.java src/main/java/christie/codegear/StartCodeGear.java src/main/java/christie/datagear/DataGears.java src/main/java/christie/datagear/LocalDataGearManager.java src/main/java/christie/datagear/WaitList.java |
diffstat | 5 files changed, 24 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/christie/codegear/CodeGearManager.java Tue Jan 30 19:55:14 2018 +0900 +++ b/src/main/java/christie/codegear/CodeGearManager.java Thu Feb 01 20:12:02 2018 +0900 @@ -14,16 +14,16 @@ * CodeGearの実行 */ public class CodeGearManager{ - private ConcurrentHashMap<String, DataGearManager> dataGearManagers = new ConcurrentHashMap<String, DataGearManager>(); - private ConcurrentHashMap<Integer, CodeGearManager> cgms; + private ConcurrentHashMap<String, DataGearManager> dgmList = new ConcurrentHashMap<String, DataGearManager>(); + private ConcurrentHashMap<Integer, CodeGearManager> cgmList; private ThreadPoolExecutor threadPoolExecutor; private LocalDataGearManager localDGM = new LocalDataGearManager(); private ConcurrentHashMap<String, IncomingTcpConnection> acceptHash = new ConcurrentHashMap<String, IncomingTcpConnection>(); public int cgmID; - public CodeGearManager(int cgmID, ThreadPoolExecutor exe, ConcurrentHashMap<Integer, CodeGearManager> cgms, int localPort) { - dataGearManagers.put("local", localDGM); - this.cgms = cgms; + public CodeGearManager(int cgmID, ThreadPoolExecutor exe, ConcurrentHashMap<Integer, CodeGearManager> cgmList, int localPort) { + dgmList.put("local", localDGM); + this.cgmList = cgmList; threadPoolExecutor = exe; this.cgmID = cgmID; new ChristieDaemon(localPort, this).listen(); @@ -34,8 +34,8 @@ } public DataGearManager getDGM(String dgmName){ - if (dataGearManagers.containsKey(dgmName)){ - return dataGearManagers.get(dgmName); + if (dgmList.containsKey(dgmName)){ + return dgmList.get(dgmName); } else { throw new IllegalArgumentException("DGM "+ dgmName + " is not found."); } @@ -43,7 +43,7 @@ public RemoteDataGearManager createRemoteDGM(String dgmName, String address, int port){ RemoteDataGearManager remote = new RemoteDataGearManager(dgmName, address, port, this); - dataGearManagers.put(dgmName, remote); + dgmList.put(dgmName, remote); return remote; } @@ -56,8 +56,8 @@ cg.setup(this); } - public ConcurrentHashMap<Integer, CodeGearManager> getCgms() { - return cgms; + public ConcurrentHashMap<Integer, CodeGearManager> getCgmList() { + return cgmList; } public void setAccept(String key, IncomingTcpConnection in) {
--- a/src/main/java/christie/codegear/StartCodeGear.java Tue Jan 30 19:55:14 2018 +0900 +++ b/src/main/java/christie/codegear/StartCodeGear.java Thu Feb 01 20:12:02 2018 +0900 @@ -6,7 +6,7 @@ import java.util.concurrent.TimeUnit; public abstract class StartCodeGear extends CodeGear{ - static ConcurrentHashMap<Integer, CodeGearManager> cgms = new ConcurrentHashMap<>(); + static ConcurrentHashMap<Integer, CodeGearManager> cgmList = new ConcurrentHashMap<>(); static LinkedBlockingQueue<Runnable> taskQueue = new LinkedBlockingQueue<Runnable>(); static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(Runtime.getRuntime().availableProcessors(), // initial number of threads Runtime.getRuntime().availableProcessors(), @@ -20,13 +20,13 @@ } public static CodeGearManager createCGM(int localPort){ - CodeGearManager cgm = new CodeGearManager(cgmCount, threadPoolExecutor, cgms, localPort); - cgms.put(cgmCount++, cgm); + CodeGearManager cgm = new CodeGearManager(cgmCount, threadPoolExecutor, cgmList, localPort); + cgmList.put(cgmCount++, cgm); return cgm; } public static CodeGearManager getCGM(String name){ - return cgms.get(name); + return cgmList.get(name); } @Override
--- a/src/main/java/christie/datagear/DataGears.java Tue Jan 30 19:55:14 2018 +0900 +++ b/src/main/java/christie/datagear/DataGears.java Thu Feb 01 20:12:02 2018 +0900 @@ -8,7 +8,7 @@ public class DataGears { protected TreeMap<String, LinkedBlockingQueue<DataGear>> dataGears = new TreeMap<String, LinkedBlockingQueue<DataGear>>(); - public void put(String key, DataGear dg){ + public synchronized void put(String key, DataGear dg){ if (dataGears.containsKey(key)) { dataGears.get(key).add(dg); } else { @@ -18,7 +18,7 @@ } } - public Object take(String key){ + public synchronized Object take(String key){ Object data = dataGears.get(key).poll().getData(); if (dataGears.get(key).isEmpty()) { @@ -28,11 +28,11 @@ return data; } - public Object peek(String key){ + public synchronized Object peek(String key){ return dataGears.get(key).peek().getData(); } - public boolean containsKey(String key){ + public synchronized boolean containsKey(String key){ return dataGears.containsKey(key); } }
--- a/src/main/java/christie/datagear/LocalDataGearManager.java Tue Jan 30 19:55:14 2018 +0900 +++ b/src/main/java/christie/datagear/LocalDataGearManager.java Thu Feb 01 20:12:02 2018 +0900 @@ -31,7 +31,7 @@ runCommand(new PutCommand(1, "local", key, dg)); } - public synchronized void runCommand(Command cm){ + public void runCommand(Command cm){ switch (cm.type) { case PUT: dataGears.put(cm.key, cm.dg);
--- a/src/main/java/christie/datagear/WaitList.java Tue Jan 30 19:55:14 2018 +0900 +++ b/src/main/java/christie/datagear/WaitList.java Thu Feb 01 20:12:02 2018 +0900 @@ -2,14 +2,14 @@ import christie.datagear.command.Command; -import java.util.concurrent.ConcurrentHashMap; +import java.util.HashMap; import java.util.concurrent.LinkedBlockingQueue; public class WaitList { - private ConcurrentHashMap<String, LinkedBlockingQueue<Command>> waitList = new ConcurrentHashMap<>(); + private HashMap<String, LinkedBlockingQueue<Command>> waitList = new HashMap<>(); - public void add(Command cm) { + public synchronized void add(Command cm) { if(waitList.containsKey(cm.key)){ waitList.get(cm.key).add(cm); } else { @@ -19,7 +19,7 @@ } } - public Command getAndRemoveCommand(String key) { + public synchronized Command getAndRemoveCommand(String key) { Command cm = null; if (waitList.containsKey(key)){ cm = waitList.get(key).poll(); @@ -30,7 +30,7 @@ return cm; } - public boolean containsKey(String key){ + public synchronized boolean containsKey(String key){ return waitList.containsKey(key); } }