package org.cocoa4android.ns;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class NSOperationQueue extends NSObject {
private ExecutorService threadPool = Executors.newCachedThreadPool();
private NSMutableArray operations;
public NSArray operations() {
return operations;
}
public int operationCount() {
if (operations!=null) {
return operations.count();
}
return 0;
}
private int maxConcurrentOperationCount;
public int maxConcurrentOperationCount() {
return maxConcurrentOperationCount;
}
public void setMaxConcurrentOperationCount(int cnt) {
this.maxConcurrentOperationCount = cnt;
threadPool = Executors.newFixedThreadPool(cnt);
}
public void addOperation(final NSOperation op){
operations.addObject(op);
threadPool.execute(new Runnable() {
@Override
public void run() {
op.main();
}
});
}
}