@Override public void run() { ArrayList<Runnable> tasks = new ArrayList<Runnable>(); for (Method method : iClass.classType.getDeclaredMethods()) { for (InjectionResolver target : iClass.ic.targets) { Annotation inject = method.getAnnotation(target.type); if (inject != null) { tasks.add(new InjectMethod(iClass, method, inject, target)); } } } WorkManager wm = new WorkManager(iClass.ic.es, tasks.size()); wm.executeAll(tasks); wm.awaitCompletion(); } }
@Override public void run() { ArrayList<Runnable> tasks = new ArrayList<Runnable>(); for (Field field : iClass.classType.getDeclaredFields()) { for (InjectionResolver target : iClass.ic.targets) { Annotation inject = field.getAnnotation(target.type); if (inject != null) { tasks.add(new InjectField(iClass, field, inject, target)); } } } WorkManager wm = new WorkManager(iClass.ic.es, tasks.size()); wm.executeAll(tasks); wm.awaitCompletion(); } }
@Override public void run() { WorkManager wm = new WorkManager(ic.es, 2); wm.execute(new InjectMethods(this)); wm.execute(new InjectFields(this)); wm.awaitCompletion(); new InjectMethods(this).run(); new InjectFields(this).run(); }
public class runner { private static Long START_NUM = 1L; private static Long END_NUM = 10000000L; public static void main(String[] args) { Long preciseStartingTime = new Long(System.currentTimeMillis()); ForkJoinPool pool = new ForkJoinPool(); WorkManager worker = new WorkManager(START_NUM, END_NUM); pool.invoke(worker); System.out.println("precise time: " + (System.currentTimeMillis() - preciseStartingTime)); }
@Override public void run() { ArrayList<Runnable> tasks = new ArrayList<Runnable>(); for (Field field : iClass.classType.getDeclaredFields()) { for (InjectionResolver target : iClass.ic.targets) { Annotation inject = field.getAnnotation(target.type); if (inject != null) { tasks.add(new InjectField(iClass, field, inject, target)); } } } WorkManager wm = new WorkManager(iClass.ic.es, tasks.size()); wm.executeAll(tasks); wm.awaitCompletion(); } }
@Override public void run() { ArrayList<Runnable> tasks = new ArrayList<Runnable>(); for (Method method : iClass.classType.getDeclaredMethods()) { for (InjectionResolver target : iClass.ic.targets) { Annotation inject = method.getAnnotation(target.type); if (inject != null) { tasks.add(new InjectMethod(iClass, method, inject, target)); } } } WorkManager wm = new WorkManager(iClass.ic.es, tasks.size()); wm.executeAll(tasks); wm.awaitCompletion(); } }
@Override public void run() { ArrayList<Runnable> tasks = new ArrayList<Runnable>(); for (Field field : iClass.classType.getDeclaredFields()) { for (InjectionResolver target : iClass.ic.targets) { Annotation inject = field.getAnnotation(target.type); if (inject != null) { tasks.add(new InjectField(iClass, field, inject, target)); } } } WorkManager wm = new WorkManager(iClass.ic.es, tasks.size()); wm.executeAll(tasks); wm.awaitCompletion(); } }
@Override public void run() { ArrayList<Runnable> tasks = new ArrayList<Runnable>(); for (Method method : iClass.classType.getDeclaredMethods()) { for (InjectionResolver target : iClass.ic.targets) { Annotation inject = method.getAnnotation(target.type); if (inject != null) { tasks.add(new InjectMethod(iClass, method, inject, target)); } } } WorkManager wm = new WorkManager(iClass.ic.es, tasks.size()); wm.executeAll(tasks); wm.awaitCompletion(); } }
@Override public void run() { WorkManager wm = new WorkManager(ic.es, 2); wm.execute(new InjectMethods(this)); wm.execute(new InjectFields(this)); wm.awaitCompletion(); new InjectMethods(this).run(); new InjectFields(this).run(); }
@Override public void run() { WorkManager wm = new WorkManager(ic.es, 2); wm.execute(new InjectMethods(this)); wm.execute(new InjectFields(this)); wm.awaitCompletion(); new InjectMethods(this).run(); new InjectFields(this).run(); }