work on internal accounts

This commit is contained in:
7u83 2017-01-09 18:38:01 +01:00
parent aae927ae82
commit a8cf39eaf5
1 changed files with 13 additions and 4 deletions

View File

@ -25,15 +25,15 @@ public class Exchange extends Thread {
}
iAccount(double money, double shares) {
next_account_id_locker.lock();
NEXT_ACCOUNT_ID_LOCKER.lock();
id = (Math.random() + (next_account_id++));
next_account_id_locker.unlock();
NEXT_ACCOUNT_ID_LOCKER.unlock();
}
}
private static int next_account_id;
Locker next_account_id_locker = new Locker();
private static final Locker NEXT_ACCOUNT_ID_LOCKER = new Locker();
TreeSet<iAccount> accounts;
double createAccount(double money, double shares) {
@ -56,6 +56,15 @@ public class Exchange extends Thread {
this.qrlist = new ArrayList<>();
}
class BidBook extends TreeSet{
TreeSet t = new TreeSet();
boolean hallo(){
t.comparator();
return true;
}
}
/**
*
@ -305,7 +314,7 @@ public class Exchange extends Thread {
return;
}
// There is a match, build price and volume
// There is a match, calculate price and volume
double price = b.id < a.id ? b.limit : a.limit;
long volume = b.volume >= a.volume ? a.volume : b.volume;