전체 글 236

Thread

Thread 란? ​ 하나의 프로세스는 하나 이상의 thread를 가지게 되고, 실제 작업을 수행하는 단위는 thread 이다. ​ ​ ​ ​ Thread Status ​ ​ ​ ​ 멀티 Thread 프로그래밍에서의 동기화 ​ 동기화 (synchronization) ​ ● 두 개의 thread 가 같은 객체에 접근 할 경우, 동시에 접근 함으로써 오류가 발생 ● 동기화는 임계영역에 접근한 경우 공유자원을 lock 하여 다른 thread의 접근을 제어 ● 자바에서는 synchronized 메서드나 synchronized 블럭을 사용 ​ ● synchronized 메서드 객체의 메소드에 synchronized 키워드 사용 현재 이 메서드가 속해있는 객체에 lock을 건다. ​ ● synchronized 블럭..

Java/정리 2021.09.07

제네릭

제네릭 자료형 정의 ​ ● 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정 할 수 있도록 선언하는 것 ● 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식\ ● 컬렉션 프레임워크에서 많이 사용되고 있음 ​ ​ 제네릭 클래스 정의 public class GenericPrinter { private T material; public void setMaterial(T material) { this.material = material; } public T getMaterial() { return material; } public String toString(){ return..

Java/정리 2021.09.07

swing ch04 집만들기

package ch03; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; // //class MyPanel extends JPanel { // //@Override //public void paint(Graphics g) { //super.paint(g); //g.drawString("House", 310, 180); //g.drawString("●●●●●●●●●●●●●●●●●●●●●",200, 205); //g.drawString("☆",100, 105); //g.drawString("☆",50, 85); //g.drawString("☆",370, 45); //g.drawString("☆",470, 25); ..

Java/Excercise 2021.09.07

thread ch01 ThreadTest2

package ch01; //쓰레드: 작업자 class MyThreadEx2 extends Thread{ String name; public MyThreadEx2(String name) { this.name = name; } @Override public void run() { int i; for (i = 0; i < 10; i++) { System.out.println(name + " : " + i + "\t"); try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } }//다운받는과정이라는 과정 }//런메서드로 위임하게된 작업자 } public class ThreadTest2 { public static vo..

Java/Excercise 2021.09.07