thread 3

[JAVA] 람다 lambda

1. 람다(lambda)란? - "Functional Interface"라고 부름. - 추상메소드 1개만 존재하는 인터페이스 이해를 위해 인터페이스를 보기 전에 클래스로 먼저 접근하였다. 인터페이스의 구현(implements)과 클래스 상속(extends)을 같은 원리로 이해할 수 있기 때문이다. *lambda의 활용법만 보려면 앞의 단계 건너뛰고 3-2를 확인 2. 할당할 때, 클래스 상속받기 1. 객체를 선언해서 사용 public class LambdaTest { //생성자 public LambdaTest() { //재정의한 객체 생성 후, 사용 t.func(); } //새로운 클래스 class Test{ void func() { System.out.println("Testfunc"); } } //T..

CS/기타 2022.02.06

CH4) Threads

1. Thread 1. Thread의 개념 - 실행의 가장 작은 단위 - stack과 register는 분리해서 가짐 : thread마다 독립적으로 실행 흐름을 갖기 위해서 - 메모리는 공유하고 있어서 process간 통신이 많은 경우 유리한 구조 2. Thread를 사용하는 이유 1) 병렬성을 높일 때 효율적 - process 생성은 memory to memory copy라서 thread 생성이 더 빠르고, 가벼워서 많이 생성 가능 - 처리 가능한 동시 접속자 수 증가 2) 자원을 효율적으로 사용 : thread는 process의 메모리 안에서 해결 3) IPC를 사용하지 않고 data 공유 가능 2. Multicore Programming 1. 개념 - core 1개에 thread 1개 mapping..

CS/운영체제 2021.09.12

CH3) Process

1. Process란? 1. process의 개념 : 프로그램이 메모리에 올라가서 수행 중인 상태, 프로그램의 instance 2. process가 필요한 이유 진행되는 상태를 표현해야 한다. 다른 프로세스들과 번갈아가면서 진행시키기 때문에 상태를 저장해놔야지 다시 수행할 수 있다. Process가 저장하는 대표적인 정보는 다음과 같다. 1) Current instruction(PC) = 다음에 수행해야 하는 instruction의 위치 2) Register 값 3) (가상)메모리 값 4) Parent info = 자신을 생성한 parent를 가리키는 포인터 2. Process의 가상 메모리 1. 가상 메모리의 개념 - 사용할 수 있는 공간이 4GB가 있다고 하면, 그중 극히 일부만 사용한다. - 프로그..

CS/운영체제 2021.09.05