⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thread.hpp

📁 这是国外的resip协议栈
💻 HPP
字号:
//// thread.hpp// ~~~~~~~~~~//// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost Software License, Version 1.0. (See accompanying// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//#ifndef ASIO_THREAD_HPP#define ASIO_THREAD_HPP#if defined(_MSC_VER) && (_MSC_VER >= 1200)# pragma once#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)#include "asio/detail/push_options.hpp"#include "asio/detail/noncopyable.hpp"#include "asio/detail/thread.hpp"namespace asio {/// A simple abstraction for starting threads./** * The asio::thread class implements the smallest possible subset of the * functionality of boost::thread. It is intended to be used only for starting * a thread and waiting for it to exit. If more extensive threading * capabilities are required, you are strongly advised to use something else. * * @par Thread Safety * @e Distinct @e objects: Safe.@n * @e Shared @e objects: Unsafe. * * @par Example * A typical use of asio::thread would be to launch a thread to run an * io_service's event processing loop: * * @par * @code asio::io_service io_service; * // ... * asio::thread t(boost::bind(&asio::io_service::run, &io_service)); * // ... * t.join(); @endcode */class thread  : private noncopyable{public:  /// Start a new thread that executes the supplied function.  /**   * This constructor creates a new thread that will execute the given function   * or function object.   *   * @param f The function or function object to be run in the thread. The   * function signature must be: @code void f(); @endcode   */  template <typename Function>  explicit thread(Function f)    : impl_(f)  {  }  /// Destructor.  ~thread()  {  }  /// Wait for the thread to exit.  /**   * This function will block until the thread has exited.   *   * If this function is not called before the thread object is destroyed, the   * thread itself will continue to run until completion. You will, however,   * no longer have the ability to wait for it to exit.   */  void join()  {    impl_.join();  }private:  detail::thread impl_;};} // namespace asio#include "asio/detail/pop_options.hpp"#endif // ASIO_THREAD_HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -