반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Qt4
- 알람프로그램
- FFI
- QT
- c언어
- 엑티브엑스
- vuejs
- Java
- 잡담
- 안드로이드
- Qt OpenGL
- 이륜차
- 양평역
- 스타2
- 자료구조
- android SAF
- Qt 소켓프로그래밍
- 스타크래프트2
- 디자이어HD
- 윈도우7
- 바이크
- HTML
- 고속도로
- 오토바이
- 재귀함수
- qt 설치
- QTcpServer
- 정성하
- 마영전
- 자바
Archives
- Today
- Total
프로그래밍과 잡담
[Java] 쓰레드... 본문
망할 쓰레드를 이상하게 사용해버렸군..
그냥 싱글 쓰레드인데.. 멀티 쓰레드로 착각 해버린거지..
뭐냐하면
//<망한 예제> class MyThread extends Thread{ public void run(){ //작업1 doSomething1(); //작업2 doSomething2(); } }
이런식을 써버린거지..
저래 써 놓고서 아 이러면 멀티쓰레드가 되겠지하고 생각을 한것이다.. 아 이런 병신짓을 이제야 깨닫다니..
멀티 쓰레드를 할려면 그야 말로 쓰레드 클래스를 여러개 생성해야하는데 하나로 해버리는 미친짓을 했다는것..
멀티 쓰레드를 사용할려면
//<정상 예제> //관리용 클래스.. class ThreadManager extends Thread { public void run(){ // 작업1 쓰레드 시작 MyThread p1 = new MyThread(); p1.start(); //작업2 쓰레드 시작 MyThread p2 = new MyThread(); p2.start() } } //작업용 클래스 class MyThread extends Thread{ public void run(){ doSomething(); } }
위에 처럼 실행을 해야.. 멀티 쓰레드가 되는것이다.. 아 왜 이걸 몰르고 이상하게 한건지.. 뭐 여하튼 이제라도 알았으니 된거지
위에 있는 것을 설명하자면.. 망한 예제의 경우는 그냥 한 개의 쓰레드에서 여러개의 작업을 돌리는 것에 불과하다.
그러니까 싱글 쓰레드에서 2개 작업을 순서대로 돌리는것이지..
하지만 정상 예제라 썼는데 이게 제대로 만든건지는 모르겠는데..
뭐 여하튼 방식은 이런 식으로 처리해야 할것이라 생각한다.
쓰레드관리 클래스에서 작업을 처리하는 클래스를 생성해서 돌려주는것이다.
쓰레드 관리 클래스라 했지만 그냥 쓰레드 생성하고 시작하는거 밖에 없다.
이러면 멀티 쓰레드가 완성..
물론 저 doSomething() 이라는 메소드는 알아서 해줘야한다.
모든 작업 쓰레드에서 공통적으로 사용하는 작업을 추가해주면 된다.
더 자세한건 구글에 멀티 쓰레드로 검색하면 나올 것이다.
반응형
'프로그래밍 > Java,Kotlin' 카테고리의 다른 글
[Spring] 외부파일로 JDBC 셋팅 (0) | 2020.10.29 |
---|---|
[라스비안] jar 파일을 OS가 시작 시 실행하기 (0) | 2017.08.19 |
[이클립스] 나의 자바 구문 강조 (0) | 2014.09.28 |
[이펙티브자바] 상속보다는 인터페이스를 사용하라.. (0) | 2012.09.09 |
[자바] 상속을 막는 방법. (0) | 2012.08.22 |
Comments