I가 어떤 방법으로 일을 시작 하나 WM :스피어 WorkManager 많은 스레드에 가입
public void someMethod(Params pararms){
WorkManager wm = (WorkManager) ic.lookup(CONTROL_WORK_MANAGER);
ArrayList<WorkItem> workItems = Lists.newArrayList();
List<Work> works = getSomeWorks();
for (Work work : works) {
workItems.add(wm.startWork(work));
}
//after all works have been started, I just wait for them to be finished using join method:
wm.join(workItems, WorkManager.JOIN_AND, (int) WorkManager.INDEFINITE);
// "other code"
}
someMethod()
가 다른 스레드에 의해 호출하고, 문제가 완료 될 wm.join()
주어진 작품만을 기다리지 않습니다이다 , 모든 스레드에 의해 시작된 모든 작업. 결국 앱의 모든 작업이 완료되면 "other code"
이 실행됩니다.
그래야할까요? 그렇다면 모두 고칠 수 있습니까? wm.join()
은 "its"작업 만 완료되기를 기다립니다.
WAS 버전은 8.5.5.11
고맙습니다!
정말 감사합니다! – SergeiK