이번 시간에는 리눅스 sleep 명령어에 대해 알아보겠습니다. 저는 oh my zsh 터미널의 맨 앞에 시간이 나오도록 설정했어요. 명령어가 실행된 시간을 볼 수 있게 하기 위해서입니다. sleep 5 &를 쳐 봅시다. 그러면, sleep 5는 백그라운드로 실행이 되는데요. [15/08/21 9:56:13]이 중요합니다. 이 때가 38482가 시작된 시각이기 때문입니다. 다음에 + 38482 done이 있는데요. sleep 5가 끝났다는 의미입니다. 9시 56분 13초에서 5초가 지난 시각이 9시 56분 18초입니다. 따라서, sleep 5는 5초 동안 pause 상태에 놓이게 됩니다. 시간을 보니까 그러합니다. date 명령어를 이용해서 명령어가 실행된 시간을 측정할 수도 있는데요. date는 syst..
sleep 검색 결과
sleep sort, 슬립 정렬이라고 2년 전이였나? 3년 전에 꽤 핫했던 친구가 있습니다. 사실 왜 Hot했는지는 이해가 가지 않습니다. 아이디어 정도만 보시고 넘어가셔도 무난할 듯 싶어요. 대략적인 구조를 보면, worker 역할을 하는 객체에게 몇 단위시간 동안 sleep 할 건지 그러한 정보를 넘겨주고, 해당 객체가 몇 단위 시간 동안 깨어나면 출력하는 식으로 프로그램을 짜는 듯 싶습니다. 더 쉽게 말하면, 길이가 n인 데이터가 있을 때, worker_i는 arr[i] 단위시간 만큼 잠이 듭니다. t만큼 시간이 지났을 때, t만큼 잠들어야 하는 worker들이 모두 깨어나면서 t를 출력하는 것입니다. 단위 시간이 매우 작다면, 꽤 효율적일 겁니다. 코드는 생각보다 짧은데요. 많이 찾아볼 수 있는 ..
오늘은 비슷한 것 같지만 완전히 다른 Thread의 sleep 함수랑 Object의 wait 함수를 이야기 해 보도록 하겠습니다. 이 둘은 쓰레드를 자게 하는 거니까, 왠지 같을 것 같은데, 실제로는 차이가 있어요. 예제 프로그램을 봅시다. 먼저 저는 My_object 객체 a와 b를 생성했어요. 그리고, worker를 200개 생성했는데요. 이 클래스의 내부를 봅시다. 이것은, Thread를 extend한 것인데요. 일단 My_object를 참조하는 레퍼런스 타입이 안에 들어있네요. 그리고, run 안에는 a.foo() 라는 친구를 수행하는데요. 그러면 My_object라는 클래스도 봐야 겠네요. 이 안에는 그냥 x가 start 되었다는 것과 끝났다는 것을 출력해 주기만 합니다. 그런데 내부에 wait..
최근댓글