|
두개의 리스트를 TList를 이용해서 만들었습니다.
예) list1 = new TList;
list2 = new TList;
1번에는 계속 데이터를 집어 넣는 쓰레드1이 돌아가고, 2번에는 1번이 리스트 값을 얻어와서 저장하는 쓰레드2가 동작을 합니다. 두개의 동작을 위해서 세마포어를 사용하고 있습니다.
2번 쓰레드가 동작을 할때 1번 리스트에 3개의 아이템이 있으면 3번의 루프를 돌면서 값을 얻어와서 2번 리스트에 저장을 시키고 저장 시킬때 마다 delete를 이용해서 1번 리스트의 아이템을 제거했습니다. 그런데 폼을 닫을때 leak가 발생하더군요.
질문.
위의 경우처럼 1번 리스트에서 하나를 읽고 이것을 지우고 다시 읽고 지우고,
새로운 데이터가 들어오면 이것을 다시 읽고 지우고 할수는 없나요??
계속 쌓이는 거라 한번 읽어 줄때마다 메모리를 되돌려야 합니다. 고수님들의 답변 부탁드릴께요.. 그럼 수고 하십시요..
|