쓰레드 2

Java Thread (Last Updated : 2021.07.27)

Q. start , run 차이 run은 로직을 한번 실행하지 thread 객체를 생성하지 않는다 start() : 새로운 쓰레드가 작업을 실행하는데 필요한 호출스택(공간)을 생성 // 만들기만하는것 run() : 위에서 만든 공간 안(스택)에 run()이 저장되는 것이다. // 정말 실행 start()하면 run()도 실행됨 쓰레드를 사용하기 위해 start()를 실행시키는 순간 쓰레드만의 독립적인 작업 공간인 호출스택이 만들어지는 것이다. 그 후에 호출 스택안에 각 실행하고자 하는 예를 들면 run()과 같은 메소드들이 저장되는 것이다. 모든 쓰레드는 독립적인 작업을 수행하기 위해 자신만의 호출스택을 필요로 하기 때문에, 새로운 쓰레드를 생성하고 호출 스택에 있는 내용들이 모두 수행하고 나면 쓰레드는..

JAVA 2016.03.23

Thread

너따로 나따로의 작업 가능 activity도 하나의 쓰레드 -> activity를 상속받은 쓰레드 : UI 쓰레드 demon : foreground가 아닌 background에서 동작하는 것 카카오톡 메세지받기 버튼 안눌러도 자동으로 상대방의 카톡이 계속 옴 -> 쓰레드가 돌고있기때문(demon thread) android의 background thread는 UI 건드릴수없음 논리적인 logic만 가능 -> 동기화문제생기니까 동기화 syncronized : [ overhead / deadlock ]이라는 문제 발생 하므로 [ looper / message / message queue / Message Pool ] 이용한다 스레드의 사용위치 선정의 중요성: (위치 선정에서 많이 어려워들함) 안드로이드는 사..

Android 2016.03.22
반응형