일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스칼라 동시성
- 하이브리드앱
- 파이썬 강좌
- play2 강좌
- 하이퍼레저 패브릭
- 파이썬 동시성
- Actor
- 안드로이드 웹뷰
- Hyperledger fabric gossip protocol
- CORDA
- 플레이프레임워크
- Adapter 패턴
- 블록체인
- 파이썬
- 엔터프라이즈 블록체인
- 이더리움
- Akka
- play 강좌
- hyperledger fabric
- 파이썬 머신러닝
- 파이썬 데이터분석
- 주키퍼
- 그라파나
- 스위프트
- Play2
- 스칼라 강좌
- Golang
- 스칼라
- Play2 로 웹 개발
- akka 강좌
- Today
- Total
목록2021/06 (3)
HAMA 블로그
소프트웨어 엔지니어링에서 풀의 종류는 다양한데요. 쓰레드풀,메모리풀,캐쉬풀,커넥션풀,객체풀 등등이 있습니다. "풀"어서 말하면 미리 만들어두고 돌려막기로 사용하자 라고 볼 수 있는데요. 미리 만들어 두는 방식 / 쓰레드가 태스크를 처리하는 방식/ 동기,비동기에 따라서 다양한 풀의 구현체들이 있을 수 있습니다. 이 글에서는 Kotlin으로 객체풀을 만드는 간단한 예제를 보여 줍니다. 1. 리스트를 이용한 고정크기 동기 객체풀 import java.lang.IllegalStateException import java.util.concurrent.TimeUnit import java.util.concurrent.locks.ReentrantLock import kotlin.concurrent.withLock i..
Coroutine // THREAD 방식 fun main() { val startTime = System.currentTimeMillis() val counter = AtomicInteger(0) val numberOfCoroutines = 100_00 val jobs = List(numberOfCoroutines) { thread(start = true) { Thread.sleep(100L) counter.incrementAndGet() } } jobs.forEach { it.join() } val timeElaspsed = System.currentTimeMillis() - startTime println(timeElaspsed) } // Coroutine 방식 import kotlinx.corout..
class Tuple(vararg elements: Any) { val elements: Array init { this.elements = elements as Array } fun get(index: Int): Any { return elements[index] } fun size(): Int { return elements.size } override fun hashCode(): Int { return Arrays.deepHashCode(elements) } override fun equals(o: Any?): Boolean { if (this === o) return true if (o == null || javaClass != o.javaClass) return false val other = ..