2011-03-09 5 views
2

두 개의 스레드가있는 프로그램을 작성했습니다. 하나는 현재 작업의 상태를 표시하는 것입니다.코드 구성 - JavaME

다른 하나는 훨씬 더 복잡합니다. 그것은 연결, 로그인, 다운로드, 파일의 압축을 풀고, 이미지를 열고, 다시 압축하여 서버에 다시 업로드하는 데 사용됩니다.

어떻게 처리 할 수있는 수준으로 줄일 수 있습니까? 여기에서 처리하는 방법에 대한 혼동의 종류. 모든 스레드를 별도의 스레드에 넣어야합니까?

조언을주십시오. 미리 감사드립니다.

+0

당신은 복잡한 스레드의 각 작업 (connect(), login().)을 만들 수 있습니다. –

답변

1

매 작업마다 스레드를 사용하는 것이 좋지 않다고 생각합니다. 스레드는 유용하지만 디버깅하기 어렵고 동기화해야합니다.

문제 설명에 따르면, 나는 다음과 같은 작업 세분 최대 3 개 스레드를 사용하십시오 : 서버에 연결을 관리

  1. 디스플레이 현재 작업
  2. (로그인, 업로드, 연결) 파일에 대한 작업 (Zip, 열린 이미지 등)

연결 관리를 다른 스레드에 넣으면 응용 프로그램에서 해당 작업을 "백그라운드"로 수행 할 수 있습니다. 스레드가 avaible 파일을 처리 중입니다. 어쨌든, 내 관점에서 볼 때 애플리케이션 요구 사항이 충분히 간단하고 강력한 대화 형 응답이 필요하지 않은 경우 지금까지했던 것처럼 스레드가 없거나 2 개의 스레드만으로 모든 작업을 수행 할 수 있습니다.

+0

내가 아는 바로는 동시에 실행되는 스레드입니다. 로그인과 우편 번호를 나누면 동시에 실행되지 않습니까? – JohnDoe4136

+0

@ JohnDoe4136 : 그렇습니다. 스레드를 사용하는 것이 중요합니다. 동시성을 원하지 않으면 두 작업에 동일한 스레드를 사용하십시오. – Heisenbug