Java의 stream은 워낙 쓸일이 많기에 이런 저런 stream들이 많다. 그 중 byte[]와 가장 관련이 많은 ByteBuffer를 stream으로 변환을 하려면 InputStream, OutputStream의 몇가지 함수만 Override하면 사용할 수가 있다. 그리 어렵지도 않은 작업일 줄이라..(Java의 Stream을 필자는 너무 싫어해서..) OutputStream import java.io.IOException; import java.io.OutputStream; import java.nio.ByteBuffer; public class ByteBufferOutputStream extends OutputStream { private ByteBuffer mBuffer; public Byte..
wait(), notify(), notifyAll() 스레드간에 서로 변수를 동시에 바꿔 발생하는 문제는 지난 글의 내용이고 이제 쓰레드간의 정보의 전달을 위해 사용하는 방법을 배워보자, 정확히 주로 정보의 전달에 사용하기 위한 방법으로 사용되는 방식일 뿐, 정보를 전달하는 것은 아니다. 쓰레드A에서 변수의 값을 변경했다면, 쓰레드B에서 변경되었다는 신호를 인지하여 변경한 값을 가져오는 방식에 대부분 사용되기 때문에 이런 설명을 달았다. 다른 용도로도 당연히 쓸 수 있으니... 세개의 함수가 있는 데, 이는 전부 Java의 Object객체에 달려있는 메소드이다. 따라서 객체로 되어있는(Object에서 상속받은) 모든 객체는 이 함수를 쓸 수 있다. 일단 이 함수가 어떻게 동작하는 지 설명할테니, 천천히 ..
이미 이 주제로 수많은 글들이 있지만,..... 나도 그냥 한번 정리를 해본다. 일단 동기화라는 말부터 설명을 해야 되는데(대체 누가 이름을 이[따구]로 지어서 헤깔게 하는지), [동기]의 반대말은 [비동기]라는 표현을 쓴다(이름이 이따구니..원..). 워낙 자주 사용되는 표현이라 적응이 되면 어렵지 않지만, 처음 접할 때는 서로 해깔리는 문제다. Synchronization의 뜻은 "조화"다. 따라서 비동기는 "조화롭지 못하다"라는 뜻이 되고, 쓰레드에 적용해 다시 정리하면, 비동기 : 쓰레드가 다른 쓰레드에 신경 쓰지않고 그냥 자기 할일만 한다.동기 : 쓰레드가 작업이 다른 쓰레드와 조화롭게 동작한다.(다른 쓰레드가 관여할 경우 자신의 실행을 잠시 멈춘다.) 라는 뜻이다. 멀티쓰레드로 프로그래밍을 할..
- Total
- Today
- Yesterday
- 에어콘
- 애드센스
- 애드핏
- OpenGL ES
- TTS
- 컴퓨트쉐이더
- 티스토리
- texture
- gpgpu
- Android
- 사용료
- 적금
- 블로그
- 금리
- 텍스처
- 에어컨
- 전기세
- 전기료
- 예금
- 재테크
- OpenGLes
- 전기요금
- 컴퓨트셰이더
- 재태크
- ComputeShader
- 안드로이드
- 경제보복
- choreographer
- 아끼는 법
- 공유 컨텍스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |