Notice
Recent Posts
Recent Comments
Link
투케이2K
44. (TWOK/ALGORITHM) [Java] 문법 - 동기 (Sync) 방식 순차적 로직 처리 실시 - Thread , 스레드 본문
투케이2K 알고리즘
44. (TWOK/ALGORITHM) [Java] 문법 - 동기 (Sync) 방식 순차적 로직 처리 실시 - Thread , 스레드
투케이2K 2022. 7. 15. 08:15[환경 설정 및 설명]
언 어 : Java
설 명 : 문법 - 동기 (Sync) 방식 순차적 로직 처리 실시 - Thread , 스레드
[소스 코드 [1]]
try {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// [반복 문 수행]
for (int i=1; i<=3; i++){
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onCreate() :: 스레드 카운트 실시]");
Log.i("","\n"+"[count :: "+String.valueOf(i)+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
try {
Thread.sleep(1000); // [스레드 일시 정지]
}
catch (Exception e){}
}
}
});
thread.start(); // [스레드 수행]
thread.join(); // [스레드 로직 종료 까지 대기]
}
catch (Exception e){
e.printStackTrace();
}
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"["+String.valueOf(ACTIVITY_NAME)+" >> onCreate() :: 스레드 로직 종료]");
Log.e("//===========//","================================================");
Log.i("---","---");
[소스 코드 [2]]
package ex6;
// [동기 처리 스레드 클래스 정의 실시]
class SyncThread extends Thread {
// [전역 변수 선언 실시]
String returnData = "";
// [순차적 동기 로직 처리 실시]
@Override
public void run() {
// [for 문 수행 실시]
for(int i=1; i<=3; i++) {
// [리턴 변수에 삽입]
returnData = String.valueOf(i);
// [로그 출력 실시]
System.out.println("");
System.out.println("================================");
System.out.println("[SyncCount] : " + returnData);
System.out.println("================================");
System.out.println("");
// [스레드 1초 정지 실시]
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
// [리턴 반환 메소드 정의 실시]
public String getResult() {
return returnData;
}
}
// [메인 클래스 정의 실시]
public class MainActivity17 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("");
System.out.println("================================");
System.out.println("[Program Start]");
System.out.println("================================");
System.out.println("");
// [동기 처리 스레드 호출 실시]
SyncThread sync = new SyncThread();
sync.start(); // [스레드 시작]
try {
sync.join(); // [스레드 작업 완료까지 대기]
} catch (InterruptedException e) {
e.printStackTrace();
}
// [로그 출력 실시]
System.out.println("");
System.out.println("================================");
System.out.println("[Thread Result] : " + sync.getResult());
System.out.println("================================");
System.out.println("");
} // [메인 종료]
} // [클래스 종료]
[참고 사이트]
https://kkh0977.tistory.com/2407
반응형
'투케이2K 알고리즘' 카테고리의 다른 글
Comments