분류 전체보기 (178) 썸네일형 리스트형 멀티 스레드(Thread) 구현하기 스레드(Thread) 란, 프로그램의 흐름을 말하는 것으로, 프로그램을 실행하면 main() 메서드가 호출되어 하나의 흐름(메인 스레드)이 시작되는데, 일반적으로 흐름이 하나밖에 없는 프로그램을 싱글 스레드라고 하며, 이제부터 구현해볼 흐름이 여러개인 프로그램은 멀티 스레드라고 한다. 즉, 동시에 여러개의 흐름이 동작하는 것이다. 자바에서는 멀티 스레드를 수행하기 위해서 Thread 클래스를 이용하여 새로운 스레드를 생성한다. 스레드를 만들기 위해서는 우선 Thread 클래스를 상속받는 클래스를 작성하고, run() 메서드를 오버라이딩 한다. 그리고, 그 안에 처리할 내용을 기술한다. 즉, start() 메서드와 run() 메서드는 이미 규정 되어있는 메서드이며, run() 메서드의 내용을 오버라이딩 하.. 쓰레드의 Wait()와 notify()사용 /** 쓰레드의 Wait()와 notify()사용 import! static java.lang.System.out; class ATM implements Runnable{ private long deposit_Money = 10000; //잔액 private boolean flag = false; public void run(){ synchronized(this){ for(int i = 0 ; i < 10 ; i++){ try{ Thread.sleep(500); }catch(Exception e){ e.printStackTrace(); } if(getDepositMoney() 0){ deposit_Money -= lv_howmuch; out.println(Thread.currentThread().getN.. 자바 쓰레드 프로그래밍 쓰레드 기초"실행중인 프로그램"을 프로세스라고한다. 그러니까 명령어를 입력해서 돌아가는 프로그램은 전부 프로세스인것이다. 프로세스에는 명령어들이 순차적으로 실행이되는데 이것을 실행 쓰레드하고 한다. 순차적으로 실행되는 명령어들을 하나의 실로 꿸 수 있기 때문이다. 이렇게 하나의 실로 꿸 수 있는 프로그램은 단일 쓰레드 프로그램이라고 한다. 그런데 어떤 프로그램에는 여러 개의 함수들이 서로 독립적으로 수행되는 경우도 있다. 이런 경우에는 명령어들이 순차적으로 수행되는 것이 아니기 때문에 하나의 실로 꿸수 없을 것이다. 이런 프로그램은 다중 쓰레드 프로그램이라고 한다. 다음 그림은 세차하는 프로그램이다. 홍길동이 스케쥴표에 나와 있는대로 세차를 하고 있다. 여기서 스케쥴표는 프로그램 명령어들이고, 스케쥴표대.. synchronized (this) ? synchronized (Class.class) ? 싱글턴 패턴을 작성하고 궁금한게 생겼다. synchronized () {} 에서 () 안에 들어가는게 .class였는데 .. 다른데 보면 this라는걸 사용하기도 한다. 그래서 차이점이 뭔지 궁금했는데 .. 여기저기 물어봐서 결국 알게 되었다. 그냥 뭐 단순하게 '지금 내 인스턴스'를 락 걸던가 .. 아니면 '.class의 모든 인스턴스'에 락을 걸것인지의 차이점이다. 이에 대한 샘플 소스는 다음과 같다. ThisSync.java view plaincopy to clipboardprint? package pupustory.sync.sample; public class ThisSync extends Thread { private final String MSG = this.toString()+"\t"; pu.. JAVA Thread 1. 쓰레드의 의미 쓰레드(Thread)란 무엇인가? 아직 쓰레드 프로그래밍을 해보지 않은 사람이라면 가끔 이런 생각을 해봤을 것이다. '프로그램을 만들 때 하나의 프로그램에서 동시에 두가지 이상의 작업이 이루어지게 하려면 어떻게 해야할까?' 예를들어 "음악이 흐르는 포토뷰어" 라는 프로그램을 생각해보자. 사진을 감상하는 프로그램인데 사진만 감상하긴 좀 밋밋해서 배경으로 음악을 깔고 싶어졌다. 사진을 보면서 음악을 듣는 것에 그치는게 아니라 사진을 넘기고 음악을 바꾸는 작업이 동시에 이루어져야 한다면? 분명 지금까지의 만들어본 프로그램은 main 함수라는 하나의 흐름에 의해 모든것이 이루어 졌을 것이다. 하지만 이젠 사진도 흘러가야하고 음악도 흘러가야 하게 된 것이다. 이렇게 하나의 프로그램 안에 둘 이.. Java의 synchronized 분석 synchronized (anObject){ // code!! } 위와 같은 구문은 anObject를 기준으로 잡습니다. 그렇기 때문에 완전히 다른 객체끼리도 동기화가 가능합니다. 다음은 제가 주로 사용하는 디버깅 코드입니다. synchronized (java.lang.Object.class) { System.out.println("===========디버깅 시작했다~================"); System.out.println("time:" + new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date())); System.out.print(new Throwable().getStackTrace()[0].getCl.. [Sencha Touch] Sencha Touch 개발환경 세팅하기 1. Aptana 설치 : JavaScript 편집을 위한 Editor http://www.linux.co.kr/home/lecture/index.php?cateNo=11&secNo=10451&theNo=&leccode=10921 2. Sencha Touch SDK Download http://www.sencha.com/products/touch/download.php?dl=publicbeta091 3. Sencha Touch API Document http://www.sencha.com/deploy/touch/docs/ 4. Crome 설치 네이버에서 '크롬' 을 치세요^________^ 요정도 준비하면 이제 세팅 완료임. Sencha SDK는 별도로 install 할 필요가 없다. 압축을 풀어 열어보.. [번역] 튜토리얼 - Sencha Touch로 Hello World를! 얼마 전에 무료화 된 Sencha Touch의 완전 초보자용 튜토리얼. 제대로 공부해보고 싶은데 자료가 별로 없다. 번역하고 나니까 넘 별거 없어서 괜히 했나 싶은..^^;;;; 번역 하다가 둔것도 많은데 하필 이걸 ㅠㅠ 뭐 이제 시작인데 시리즈로 해볼까나? 원문은 http://www.sencha.com/learn/Tutorials#Sencha_Touch_Tutorials Sencha Touch의 세계로 오신 것을 환영합니다! 이 글에서 우리는 첫 어플리케이션을 만들기위한 가장 기본적인 것들을 살펴볼 것입니다. 오랜 전통을 가진 "Hello World"를 찍어보는 것으로 말이죠. Sencha Touch 다운 받기아직 다운 받지 않았다면 Sencha Touch SDK를 받으세요. 이 배포버전에는 방대한 문.. 이전 1 ··· 13 14 15 16 17 18 19 ··· 23 다음