c++ sleep 예제
  • 02
  • 08

새 시간 라이브러리는 스레딩 인터페이스의 중요한 구성 요소입니다. 뿐만 아니라 스레드, 잠금, 미래와 조건 변수는 시간의 이해가있다. 네 가지 모두 시간 지점이나 시간 동안 잠을 자고 기다리거나 막을 수 있다는 공통점이 있습니다. 200밀리초 동안 스레드를 절전 모드로 연결하려면 다음 인수즉, wait() 및 sleep() 함수는 이벤트 기반 프레임워크이므로 일반적으로 필요하지 않습니다. 대기() 대신 완료된() 신호를 듣는 것이 좋습니다. 절전() 함수 대신 QTimer를 사용하는 것이 좋습니다. QThread는 또한 정적, 플랫폼 독립적인 수면 기능을 제공합니다: sleep(), msleep(및 usleep() 각각 전체 초, 밀리초 및 마이크로초 해상도를 허용합니다. 이러한 함수는 Qt 5.0에서 공개되었습니다. 여러 번 우리는 스레드가 미래의 시간 지점을 때까지 잠을 자기를 원합니다.

즉, sleep_untill() 즉 C++11을 사용하여 sd::this_thread::sleep_for를 사용하여 지정된 기간 동안 현재 스레드를 차단합니다. 이제 프로그램의 동기화에. std::cout으로 현재 시간을 결정하는 시계도 공유 변수입니다. 그러나 동기화가 필요하지 않습니다. 첫째, 메서드 호출 std::chrono:steady_clock:now() 스레드 안전(예: 24 및 34 줄) 두 번째, C++ 런타임문자가 std::cout에 스레드 안전으로 작성되도록 보장합니다. 시각적 인 이유로 만 std::lock_guard를 사용하여 std:::cout (예 : 줄 27,31 및 35)을 래핑했습니다. 다중 스레딩 프로그램에서 시간을 처리하는 방법은 간단한 규칙을 따릅니다. _for로 끝나는 메서드는 시간 지속 시간으로 매개 변수화해야 합니다. 메서드는 _until a time으로 끝납니다.

나는 별도의 게시물에 시간 기간과 시간을 제시했다. 다음은 수면, 차단 및 대기를 다루는 방법에 대한 간결한 개요입니다. 현재 스레드를 1초 동안 절전 모드로 이동합니다. 스레드가 지정될 이름을 선택하려면(예: Linux의 ps -L 명령으로 식별됨) 스레드를 시작하기 전에 setObjectName()을 호출할 수 있습니다. setObjectName()을 호출하지 않으면 스레드에 지정된 이름은 스레드 개체의 런타임 형식의 클래스 이름입니다(예: 만델브로트 예제의 경우 QThread 하위 클래스의 이름인 “RenderThread”). 현재 Windows에서 릴리스 빌드를 사용할 수 없습니다.

Comments (0)

Leave a reply

Should you ever have a question, please dont hesitate to send a message or reach out on our social media.