요즘 들어서 제때 자고 제때 일어나는 것이 생각처럼 쉽지가 않다.
자려고 하면 조금이라도 더 해보자고 하다가 늦게 잠들고.
그러면서 일어나는 시간은 빠르면 30분, 늦으면 1시간 정도를 더 늦게 일어난다.
차라리 좀 더 일찍 잠들었으면 어땠을까 하는 생각이 최근 들어서는 많이 들게 된다.
오늘은 락 프리 스택에 대한 문제를 파악하는데 하루를 쏟아부은 것 같다.
어제도 이야기했던 바가 있지만 멀티스레드에서는 파일 입출력으로 로그를 찍는 것이 의미가 많이 없어진다.
그래서 메모리 상에서 상태를 찍어두고 이걸 확인할 수밖에 없다.
특히나 동기화 객체도 쓰지 않는 락 프리 알고리즘이 적용되었다면 더더욱 그럴 것이고.
락 프리 알고리즘과 관련해서 가장 대표적인 ABA 문제를 직접 맞닥뜨리게 되었다.
처음에는 로그를 보는 것이 어려웠지만 나중에는 어떤 문제가 발생하는지는 확실히 인지를 할 수 있었다.
다만 이 문제에 대해서 객관적으로 무엇때문에 이렇게 되었다는 것은 아직 이해하기가 어려웠다.
하루 종일을 써도 제대로 된 답을 못찾은 나에 비하면 벌써 해결을 한 사람들도 있는 것 같은데...
일단 오늘은 이쯤에서 마무리하고 자고 일어나서 확실하게 답을 찾아내야겠다.
괜히 찾겠다고 또 밤을 새다가 컨디션이 무너지는 것보다는 일단 생각을 비우는 것이 좋을 것 같다.
자고 일어나서 다시 생각해보면 오히려 답이 나오는 경우들이 더 많았던 것도 그런 이유에서일 것이고.