본문 바로가기

JAVA3

MultiThread란? + Lock 사용 방법 jvm 은 multithread 를 지원한다. thread는 cpu 작업 1단위이다. multithread 방식은 1cpu에서 여러 thread 를 이용해 번갈아 처리하는 방식(context switching)이다. 여러 thread가 동시에 1 cpu 공유하기에 경쟁상태(raceCondintion) 문제가 발생한다. 동시성을 제어하는 여러가지 방법들Lock: 한번에 하나의 스레스만이 자원에 접근할 수 있다.Semaphore: 공유 자원에 대한 접근 횟수를 제한하는 동기화 도구다. 세마포어는 카운터 값을 가지며, 이 값이 0 이하가 되면 더 이상 자원에 접근할 수 없다.mutex: 상호 배제(Mutual Exclusion)를 구현하는 동기화 도구다. 한 번에 오직 하나의 스레드만 공유 자원에 접근할 수 .. 2024. 6. 20.
람다란 https://code-sumin.tistory.com/27 익명 클래스란 package anonymousclass; public class Person { private String name; public Person(String name) { this.name = name; } public MyReadable createInstance(final int age) { //local inner class class PersonWithAge implements MyReadable { @Override public void read code-sumin.tistory.com 지난 글에서 interface를 구현하는 방법에 두가지가 있다고 설명했다. 1. 클래스에 붙어 구현시킨다. package lambda; .. 2023. 11. 23.
익명 클래스란 package anonymousclass; public class Person { private String name; public Person(String name) { this.name = name; } public MyReadable createInstance(final int age) { //local inner class class PersonWithAge implements MyReadable { @Override public void readInfo() { System.out.println("이름 : " + name); System.out.println("나이 : " + age); } } MyReadable person = new PersonWithAge(); // 다형성 return per.. 2023. 11. 23.