나는 3 초마다 서버에 데이터를 보내야하며,이 프로세스를 시작 또는 중지하기 위해 손을 든다. 이렇게 스레드를 만들었습니다.스레드가 다시 시작될 때
class updaterunner implements Runnable {
// @Override
public void run() {
while (threadex) {
try {
doWork();
Thread.sleep(30000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
} catch (Exception e) {
}
}
}
public void doWork() {
runOnUiThread(new Runnable() {
public void run() {
new startasynch().execute();
}
});
}
}
thradex
이 거짓으로 초기화되는
:
threadex = true;
if (myThread.getState() == Thread.State.NEW)
{
myThread.start();
}
그리고 정지 버튼입니다 이 전화 :
threadex = false;
첫 번째 시작 중지가 잘 작동 잘 작동하지만, 내가 그것을 나던 작업을 다시 시작했는데, 내가 스레드의 상태를 확인 할 때, 내가 그것을 .. TERMINATED 발견했을 때 어떤 날이 설명 할 수 제발?
정확히 작동하지 않습니다. 아무 것도하지 않으면 중지 버튼을 클릭하십시오. 30 초마다 작동합니까? – hasan83
'run' 메소드의 코드는'threadex'가'false'로 설정되면 끝납니다. 그래서 스레드가 종료되었습니다. 새로운 것이 아닐지라도 마술처럼 '새로운 것'으로 다시 돌아갈 것이라고 기대 했습니까? – ajb
그래서 당신은 스레드를 만들고 있는데, 유일한 목적은 UI 스레드로 돌아가 거기에서 비동기 작업을 시작하는 것입니다 ...!? – ElDuderino