피드로 돌아가기
새로워지기·서른의 생활코딩

ex3) java_thread

NS
normalstory
표지 이미지


 

// 메신저 사용시 ->for(;;){};가 아닌 Thread를 사용하여 동시에 다른작업도 가능하도록 함
// 서버상에서 메시지가 언제 들어올지모르니까.. 계속 쓰레드를 돌리면서 수행,
// 루프로 돌리면 동시에 다른 작업이 불가!

 

/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  printNumber(); //호출
 } //제 정의
 
 public static void main( String[] args ) {
  ThreadTest tt = new ThreadTest();  // 객체 생성
  tt.start(); // Thread를 시작시킴
                 // 과정 :
                 // JVM에게 요청 -> run()실행-> 
 
                // printNumber()-> 아래의System.out.println 실행
 
 System.out.println( "--------> main thread end" );

 }
}//버그 : 순서가 틀림 , 가장 나중에 끝나는 것은 "주 쓰레드"가 되어야 한다.

**/





/*
   구조
         object :wait,notify,notifyAll
         -> Thread :start, stop  (+ <- runnable interface(public void run()))
         -> ThreadTest : 상위 모두 + printNumber()
 **/

 

 
 

/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  printNumber(); //호출
 } //제 정의
 
 public static void main( String[] args ) {
  ThreadTest tt = new ThreadTest(); // 객체 생성
  tt.start(); // Thread를 시작시킴
                 // 과정 :
                 // JVM에게 요청 -> run()실행-> 
 
                // printNumber()-> 아래의System.out.println 실행
 
                // main()내에서 화면에 101부터 120까지 출력

  for( int i=101 ; i<=120 ; i++ ) {
  System.out.println( "-------> main number = " + i );
  }//단 컨퓨터 성능에 따라 순서가 바뀔 수 있다.
 }
}**/

 

 


/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  printNumber(); //호출
 } //제 정의
 
 public static void main( String[] args ) {
  ThreadTest tt = new ThreadTest();  // 객체 생성
  tt.start(); // Thread를 시작시킴
                 // 과정 :
                 // JVM에게 요청 -> run()실행->
                 // printNumber()-> 아래의System.out.println 실행
                 // main()내에서 화면에 101부터 120까지 출력
 

  tt.join();   //-> try catch code블럭필요!
  }
 }
}**/

 

 

 

/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  printNumber(); //호출
 } //제 정의
 
 

 public static void main( String[] args ) {
 

  ThreadTest tt = new ThreadTest(); // 객체 생성
  tt.start(); // Thread를 시작시킴
 

  try{
   tt.join();
  }catch(InterruptedException e){}
 

  System.out.println( "-------> main number = ");
 }

}**/

 

 

 

/*
public class ThreadTest extends Thread {
 
 public void printNumber() { // 0부터 1까지 화면에 출력시키는 메소드
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 
 // Runnable interface가 지닌 run()를 overriding
 public void run() {
  System.out.println(Thread.currentThread());//순위확인
  printNumber(); //호출
 } //제 정의
 
 public static void main( String[] args ) {
 

  ThreadTest tt = new ThreadTest();  // 객체 생성
  tt.start();// Thread를 시작시킴
  System.out.println(tt.getPriority());//순위확인
 

  try{
   tt.join();
  }catch(InterruptedException e){}
 

  System.out.println( "-------> main number = ");
 }
}**/

 

 


public class ThreadTest extends Thread {
 
 public void printNumber() {
  for( int i=1 ; i<=20 ; i++ ) {
  System.out.println( "number = " + i );
  }
 }
 

 public void run() {
  System.out.println(Thread.currentThread());
  printNumber(); 
 } 
 
 public static void main( String[] args ) {
  ThreadTest tt = new ThreadTest();
  tt.start();
  tt.setPriority(9); //속도 우선순위 지정!!!
  System.out.println(tt.getPriority());
  try{
   tt.join();
  }catch(InterruptedException e){}
  System.out.println( "-------> main number = ");
 }
}

 

  • Open in Google Docs Viewer
  • Open link in new tab
  • Open link in new window
  • Open link in new incognito window
  • Download file
  • Copy link address
  • Edit PDF File on PDFescape.com

element

Font
font-family
font-size
font-style
font-variant
font-weight
letter-spacing
line-height
text-decoration
text-align
text-indent
text-transform
white-space
word-spacing
color
Background
bg-attachment
bg-color
bg-image
bg-position
bg-repeat
Box
width
height
border-top
border-right
border-bottom
border-left
margin
padding
max-height
min-height
max-width
min-width
outline-color
outline-style
outline-width
Positioning
position
top
bottom
right
left
float
display
clear
z-index
List
list-style-image
list-style-type
list-style-position
Table
vertical-align
border-collapse
border-spacing
caption-side
empty-cells
table-layout
Effects
text-shadow
-webkit-box-shadow
border-radius
Other
overflow
cursor
visibility
친절한 찰쓰씨
글쓴이
친절한 찰쓰씨
친절한 찰쓰씨 · 일상 UX 디자이너
기획·디자인·단상을 조용히 기록합니다.
작가 페이지에서 더 보기

이어서 읽기

새로워지기

꾸준히, 오래, 지치지 않고

Mar 31, 2026·8
새로워지기

테크 라이프 발란스

Feb 7, 2026·3
새로워지기

휴탈리티 박정렬

Feb 7, 2026·11