lock (Lock)

            {

                //페이지에 구조체를 보여줌. 24개(MaxViewItemCount)가 꽉차면 다음 페이지로 넘김.

                //구조체의 Page=해당 구조체가 존재하는 페이지

                //PageCount=페이지 수 (현재 페이지 값이 아님)

 //같은 Page값을 가진 구조체가 25개 이상( >MaxViewItemCount) 존재하면 안됨.

                structure.Page = PageCount;

                structure.RowColumnIndex = (Items.Count % MaxViewItemCount);

                Items.Add(structure); //전체 구조체 목록에 추가

                if (Items.Count % MaxViewItemCount == 0) PageCount++; 

                Added?.Invoke();

            }


MaxViewItemCount는 const값임. 문제는 PageCount. 이놈을 Thread-Safe하게 만들고싶은데...


리스트나 큐같은경우에는 Thread Safe인 컨테이너들이 있어서 괜찮은데. 저놈은 단일 int값이라 뭐 어떻게해야할지 모르겠음. Interlocked 가 뭔가 연관잇어보이긴 하는데... 


뭔가 lock을 쓰게되면 성능 이전에 코드가 지저분해지는 느낌이라 배제하고싶음.