C에서 Boost를 사용하여 스레드 풀 생성 및 활용
C에서 Boost를 사용하여 스레드 풀을 설정하려면 다음 단계를 따르세요.
boost::asio::io_service ioService; boost::thread_group threadpool;
threadpool.create_thread( boost::bind(&boost::asio::io_service::run, &ioService) );
ioService.post(boost::bind(myTask, "Hello World!"));
스레드를 중지하려면(일반적으로 프로그램 종료 시):
ioService.stop();
threadpool.join_all();
예제 코드:
// Create io_service and thread_group boost::asio::io_service ioService; boost::thread_group threadpool; // Start the ioService processing loop boost::asio::io_service::work work(ioService); // Add threads to the thread pool threadpool.create_thread( boost::bind(&boost::asio::io_service::run, &ioService) ); threadpool.create_thread( boost::bind(&boost::asio::io_service::run, &ioService) ); // Assign tasks to the thread pool ioService.post(boost::bind(myTask, "Hello World!")); ioService.post(boost::bind(clearCache, "./cache")); ioService.post(boost::bind(getSocialUpdates, "twitter,gmail,facebook,tumblr,reddit")); // Stop the ioService processing loop ioService.stop(); // Join all threads in the thread pool threadpool.join_all();
에서 요약하면 Boost는 스레드 풀을 생성하고 여기에 작업을 할당하는 간단한 메커니즘을 제공하여 C 애플리케이션에서 동시 실행을 가능하게 합니다.
위 내용은 C에서 Boost를 사용하여 스레드 풀을 어떻게 생성하고 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!