- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록thread (6)
드럼치는 프로그래머
안드로이드 쓰레드 종료를 위해 Thread.stop(), Thread.suspend() 다 해보았지만 모두 deprecated 되어서 사용하면 안될 뿐더러, 정상 동작 하지도 않는다. 그럼 남은건 interrupt() 하나 뿐인데.. 이걸 쓴다고 해서 쓰레드가 바로 종료되는건 아니더라.. 보니까 interrupt() 쓴다고 쓰레드가 그냥 죽는게 아니고 쓰레드 내부에 직접 구현을 해줘야 했다. 중복 쓰레드 실행 시 이전 쓰레드를 죽이는 것도 처음에 boolean 변수 만들어서 죽여주는 그런 방법으로 시도했다가, interrupt()와 interrupted()를 활용 하는 것이 훨씬 간결 하다는 것을 알았다. 구현 소스는 다음과 같다. ----------------------------------------..
핸들러... 간단한 예제를 만들며 시작해 보자.. ?main.xml MainActivity.java package com.test.ThreadTest; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements View.OnClickListener { /** Called when the activity is first created. */ TextView tv1; My..
C. 루퍼(Looper) 앞서 스레드에 대한 설명을 보면 핸들러를 이용하여 서로 메시지를 주고 받을수 있게 하여 서로의 변화를 알릴 수 있습니다. 하지만 이렇게만 알고 있다면 큰 오산입니다. 서브 스레드의 경우 메시지를 보낼 수 있는 것은 핸들러의 예제를 통해 확인했습니다. 하지만 서브 스레드의 경우 메시지를 받지는 못합니다. 메인 스레드만이 메시지를 받을 수 있습니다. 왜냐하면 메인 스레드에는 루퍼가 있기 때문입니다. 메시지 큐(Message Queue) 메시지는 스레드 간의 신호입니다. 이는 메서드처럼 호출한다고 바로 실행되는 것이 아니라 순서대로 처리가 됩니다. 자료구조에서 배우는 큐를 사용한다고 보시면 됩니다. 메시지를 쌓아 두는 공간이 바로 메시지 큐입니다. 루퍼(Looper) 루퍼는 메시지 큐..
B. 핸들러 핸들러(Handler) 한 스레드는 그 내부의 연산만 가능하며 다른 스레드의 UI를 건드릴 수 없습니다. 그런데 만약 스레드들이 서로 영향을 줄 수 없다면 스레드의 존재 이유가 없겠죠. 이런 서로 다른 스레드 간의 참조를 위해서 스레드 간에 통신할 수 있는 장치를 만들었는데 그것이 핸들러입니다. 핸들러는 스레드 간에 메시지 객체나 러너블 객체를 통해 통신할 수 있는 장치이며, 하나의 핸들러는 하나의 스레드와 관련을 맺습니다. 핸들러는 자신이 생성된 스레드에 짝이 되며 다른 스레드와 통신을 수행하게 됩니다. 핸들러의 메시지 수령 핸들러에 메시지가 도착하게 되면 아래의 메서드가 호출됩니다. public void handleMessage(Message msg) 인수로 메시지 객체를 전달받는데 이는..
스레드(Thread) 차례 A. 스레드 B. 핸들러 C. 루퍼 A. 스레드 스레드는 작업을 독립적으로 실행시키는 능력입니다. 여러 독립적인 작업을 동시에 실행하는 것은 멀티 스레드라고 부릅니다. 이런 멀티 스레드를 사용할 때에는 스레드 간의 동기화를 고려해야 합니다. 특히나 안드로이드는 자바 기반으로 만들어졌기 때문에 멀티 스레드를 지원합니다. 스레드는 이렇게 독립적으로 실행시키는 능력이라서 조금이라도 복잡해지는 어플리케이션에서 매우 유용하게 쓰입니다. 특히 한 어플리케이션에서 두 가지 작업을 해야 할 때는 필수이죠. 또한 스레드를 이용해서 시간을 체크할 수도 있고 시간 지연을 줘서 타이밍 좋게 여러가지를 다룰 수 있습니다. 예로 들면 어떤 작업이 0.5초만 늦춰지면 톱니바퀴가 딱 맞아 떨어질텐데 그렇게..
# Class - 함수나 메소드의 집합체 => extends 가 필요함 # Interface - 함수나 메소드 선언 (껍데기일뿐..) => implement 가 필요 @@@ 스레드 만드는 법 @@@ -게임과 같은것은 상관 없지만, web이나 페이스북 트위터등을 이용하려면 꼭 알아두어야 함. 1. inner Class --- class xxx extends Activity{ ---mBackValue ---mBackText ---onCreate(){ } class yyy extends Thread{ mHandle.sendEmptyMessage() } } 2. extend Class --- class xxx extends Activity{ ---mBackText ---onCreate(){ } } class y..