当前位置: 首页>>代码示例>>C++>>正文


C++ thread::timed_join方法代码示例

本文整理汇总了C++中boost::thread::timed_join方法的典型用法代码示例。如果您正苦于以下问题:C++ thread::timed_join方法的具体用法?C++ thread::timed_join怎么用?C++ thread::timed_join使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在boost::thread的用法示例。


在下文中一共展示了thread::timed_join方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: beginLawnmowerThread

		/*
		 *	beginLawnmowerThread
		 *		Starts the lawnmower code.
		 */
		bool beginLawnmowerThread() {
			if ( thread_1.timed_join(boost::posix_time::milliseconds(10)) ) {
				cout << "\033[36m[THRIFT]\033[0m Beginning lawnmower thread." << endl;
				
				if (waypoints_list.size() != 2) {
					cout << "\033[31m[THRIFT]\033[0m Cannot start lawnmower without boundaries!" << endl;
					return false;
				}
				
				Pos corner1;
				Pos corner2;
				
				corner1.lat = waypoints_list.front().lat;
				corner1.lon = waypoints_list.front().lon;
				corner2.lat = waypoints_list.back().lat;
				corner2.lon = waypoints_list.back().lon;
				
				usingWindows = false;
				exitProgram = false;
				userState = -1;
				thread_1 = boost::thread(run_lawnmower, boost::ref(fb), boost::ref(gps), boost::ref(imu), boost::ref(buzzer), corner1, corner2);
				return true;
			} else {
				cout << "\033[31m[THRIFT]\033[0m Cannot start lawnmower, copter is flying." << endl;
				return false;
			}
		}
开发者ID:picopter,项目名称:picopter,代码行数:31,代码来源:picopter.cpp

示例2: beginUserTrackingThread

		/*
		 *	beginUserTrackingThread
		 *		Starts the user tracking thread.
		 */
		bool beginUserTrackingThread() {
			if ( thread_1.timed_join(boost::posix_time::milliseconds(10)) ) {
				
				cout << "\033[36m[THRIFT]\033[0m Beginning user tracking thread." << endl;
				
				exitProgram = false;
				userState = -1;
				thread_1 = boost::thread(userTracking, boost::ref(fb), boost::ref(gps), boost::ref(imu), boost::ref(buzzer), boost::ref(logs), boost::ref(user_position));
				
				return true;
			} else {
				cout << "\033[31m[THRIFT]\033[0m  Cannot start user tracking, copter is flying." << endl;
				return false;
			}
		}
开发者ID:picopter,项目名称:picopter,代码行数:19,代码来源:picopter.cpp

示例3: beginWaypointsThread

		/*
		 *	beginWaypointsThread
		 *		Starts the waypoints code looping.
		 */
		bool beginWaypointsThread() {
			if ( thread_1.timed_join(boost::posix_time::milliseconds(10)) ) {
				
				cout << "\033[36m[THRIFT]\033[0m Beginning waypoints thread." << endl;
				
				exitProgram = false;
				userState = -1;
				thread_1 = boost::thread(waypointsFlightLoop, boost::ref(fb), boost::ref(gps), boost::ref(imu), boost::ref(buzzer), boost::ref(logs), waypoints_list);
				
				return true;
			} else {
				cout << "\033[31m[THRIFT]\033[0m  Cannot start waypoints, copter is flying." << endl;
				return false;
			}
		}
开发者ID:picopter,项目名称:picopter,代码行数:19,代码来源:picopter.cpp

示例4: catch

void nuke_ms::clientnode::catchThread(boost::thread& thread, unsigned threadwait_ms)
{
    // a thread id that compares equal to "not-a-thread"
    boost::thread::id not_a_thread;

    try {
        // give the thread a few seconds time to join
        thread.timed_join(boost::posix_time::millisec(threadwait_ms));
    }
    catch(...)
    {}

    // if the thread finished, return. otherwise try to kill the thread
    if (thread.get_id() == not_a_thread)
        return;

    thread.interrupt();

    // if it is still running, let it go
    if (thread.get_id() == not_a_thread)
        return;

    thread.detach();
}
开发者ID:fat-lobyte,项目名称:nuke-ms,代码行数:24,代码来源:clientnode.cpp

示例5: join

 void join(unsigned val){///Join thread after specified time in seconds
     m_Thread.timed_join(( boost::posix_time::time_duration(0,0,val,int(boost::posix_time::time_duration::ticks_per_second() / 10))));
     UpdateStats(new string("Thread has been doing something for: "+ Conv::TimeToString(Time::TimeDiff(*blt_ldt_Start))));
 }
开发者ID:str0g,项目名称:LittleBenchmark,代码行数:4,代码来源:myThreadTemplates.hpp


注:本文中的boost::thread::timed_join方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。