백프레셔 + 추가 설명

Jan 30, 2024
백프레셔 + 추가 설명
notion image

[ InputStream ]

데이터를 바이트 단위로 읽는 기능을 제공하는 클래스로, 데이터를 8비트씩 읽는다. 만약, 500비트가 들어왔을때, 애는 8비트씩만 읽어서... 나머지는 소멸된다. 때문에 버퍼에 담아두는 것!
💡
버퍼는 메모리. RAM에다가 잠깐 넣어놓는 것
 

[ 컨텍스트 스위칭 ]

한 가지 활동이나 작업에서 다른 활동이나 작업으로 전환하는 것 즉, 자바에서 컨텍스트 스위칭은 스레드 간의 전환을 의미한다. 프로세스에게 컨텍스트 스위칭 안 일어나게… 순차적으로 실행함
 

[ 백 프레셔 ]

버퍼엔 '생산자(Producer)와 소비자(Consumer)' 가 있다. 1. 소비자가 생산자보다 소비를 늦게 할 때, (10개 생산해서 보냈는데 1개 소비할 때) (버퍼에 쌓인 데이터가 계속 증가하여 버퍼링 현상이 발생 -> 버퍼 오버플로우 발생) 2. 생산자가 1개의 데이터를 보냈지만 소비자가 10개의 데이터를 소비할 때, 생산자-소비자 간의 균형이 깨지게 된다. 이런 소비의 균형을 맞추는게 바로 '백 프레셔' (쟤는 10개 소비하니까 10개 줘야지 ㅎㅎ)
버퍼가 10개를 소비한다고 정해져있다(?)고 해서 계속 10개를 소비할 수 있을거라 생각하면 안된다 나 말고도 다른 사람과 통신을 하기 때문에, 이미 5개를 다른 사람에게 받아서 소비 중일 수도 있다! 그래서 버퍼링이 발생! (버퍼링 = 버퍼가 소비될 때까지 기다리는 것!)
 
Share article

codingb