Home » 작업큐

작업큐

작업 큐를 구현해보자 – Python

어떤 함수와 인자값을 전달해서 백그라운드에서 처리되도록 하려면 스레드를 사용해서 작업할 수 있다. 스레드를 사용하면 동시에 여러 개의 작업을 진행시키는 것도 가능하다. 문제는 데이터가 단시간에 다량으로 들어오는 경우인데, 여러 스레드가 동시에 돌아가는 경우 실질적으로는 모두 동시에 돌아가는 것이 아니라 CPU가 “매우 빠른 속도로” 각 스레드 사이의 작업을 전환해가면서 처리하게 된다. 따라서 스레드가 너무 많아지게 되면 스레드 사이의 스위칭에 많은 비용이 들어갈 뿐만 아니라 프로세스 자체가 불안정하게 된다. 한정된 스레드 개수만 사용하여 더 많은 데이터를 다루기 위해서는 스레드 풀이라고도 불리는 작업 큐를… 더 보기 »작업 큐를 구현해보자 – Python

작업큐

작업 큐

때때로, 그리고 생각보다는 자주 프로그램은 한 번에 하나 이상의 일을 동시에 처리해야 하는 경우가 있다. 이러한 것 중 가장 중요한 것으로는 사용자의 입력에 대해서 반응하는 것이다. 그리고 그와 동시에 네트워크로 통신을 하거나, 대용량의 데이터를 읽거나 쓰고 혹은 데이터들을 처리하는 것을 동시에 진행한다.
앱의 최우선순위는 사용자에게 반응할 수 있게 하는 것이다. 어떤 장시간이 걸리는 일에 대해서 지속적으로 피드백이 주어진다면 사용자들은 그것을 기다릴 수 있다. 하지만 그렇지 않다면 (그래서 UI가 얼어버린 것으로 보인다면) 사용자들은 앱이 문제가 있거나 디바이스가 느리다고 인지하게 된다.더 보기 »작업큐