지금 만들고 싶은게

producer 스레드 하나가 자료구조에 계속 데이터를 채워 넣으면 consumer 클래스가 중복되지 않게 데이터를 빼가서 처리하는 자료구조를 구현하고싶음

근데 성능에 민감해서 consumer가 자료 빼가는걸 락 안잡고 빼가게 만들고싶음...

처음 생각한 아이디어는 배열 잡고 스레드마다 id 부여한다음 자기 id를 인덱스로 해서 빼가게 할까 생각해 봤는데 총 처리해야 될 데이터 갯수가 엄청나게 커지면 불가능할거같아서 엎어졌고

그다음은 큐를 써볼까 했는데 dequeue 오퍼레이션을 스레드 세이프하게 만들수 없을거같아서 난관에 봉착했음

producer-consumer 문제로 구글링해보면 꽤 많이 보이는데 다 consumer거 락잡고 빼가는 모델밖에 없는거같은데 혹시 이런거 어케 해결하는지 아시는분?