`
mylove2060
  • 浏览: 336013 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Boost - 线程-boost timed_join用法

阅读更多

Author:QQ174554431


TestTimeJoin.h

#pragma once
#include <iostream>
#include <boost/thread/thread.hpp>
#include <boost/bind.hpp>

class TestTimeJoin
{
public:
	TestTimeJoin(void);
	~TestTimeJoin(void);
	void Running();
	void StartingThead();
private:
	boost::thread *mainthread;
};



TestTimeJoin.cpp
#include "TestTimeJoin.h"

TestTimeJoin::TestTimeJoin(void)
{
	
	mainthread = new boost::thread(boost::bind(&TestTimeJoin::Running,this)); //create a new thread thread
	
}

TestTimeJoin::~TestTimeJoin(void)
{
}
void TestTimeJoin::StartingThead(){
	mainthread->timed_join(boost::posix_time::microseconds(10000));
}
void TestTimeJoin::Running()
{
	while(true){
		std::cout<<"running"<<std::endl;  //running body
	}
}




main.cpp


#include "stdafx.h"
#include <iostream>
#include "TestTimeJoin.h"
int _tmain(int argc, _TCHAR* argv[])
{
	TestTimeJoin *testTimeJoin = new TestTimeJoin(); //create a thread manager
	testTimeJoin->StartingThead(); //starting the thread
	return 0;
}



result:


running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running
running


线程在10000微秒内结束
分享到:
评论

相关推荐

    JavaScript应用实例-MODULE_TIMED_TASK.js

    JavaScript应用实例-MODULE_TIMED_TASK.js

    IRPTrace2.00.002.zip

    * A timed evaluation message is displayed on startup; * A registration reminder dialog appears regularly; * Information about every 4th IRP is disabled. 7. A hang on dual CPU machine under Windows...

    rh-nodejs6-nodejs-timed-out-2.0.0-7.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    SUMMIT-1-Final-Test-1-5.zip_Free!_foodfbi_summit

    Prepare for IELTS with our free practice tests and answers. Use these tests to carry out timed practice sessions and develop your test technique.

    A-Designer-s-Guide-to-Asynchronous-VLSI_vlsi_asynchronous_

    《异步VLSI设计指南》是一本深入探讨复杂集成电路设计领域的专著,主要关注的是异步电路的设计方法。VLSI(Very Large Scale Integration)指的是超大规模集成电路,是现代电子设备中的核心技术,它允许在单个芯片上...

    backup_1000821v1001400000.zip

    标题“backup_1000821v1001400000.zip”和描述中的信息“backup_1000821v1001400000.zip”暗示这是一个备份文件,可能包含了某个系统或应用在特定时间点的数据快照。通常,这样的文件用于防止数据丢失,便于恢复到...

    java常见面试题---线程篇

    - 等待(Waiting):线程调用了`wait()`、`join()`或`Object.wait()`,在其他线程执行特定操作后才会恢复。 - 超时等待(Timed Waiting):类似于等待,但有一个超时时间,如`Thread.sleep(1000)`。 - 终止...

    操作系统实验三 -线程同步

    实验的目标是让学生深入理解和掌握Linux环境下多线程编程以及线程同步的原理和方法。在这个实验中,学生需要编写一个模拟火车售票系统的程序,该系统有三个售票窗口,总共销售十张票。通过这个实际应用,学生将能够...

    Java-for-thread.zip_java 线程

    - **线程控制**:包括`sleep()`, `join()`, `yield()`, `interrupt()`, `isInterrupted()`, `InterruptedException`等方法,用于控制线程的执行顺序和中断。 4. **多线程的互斥与同步** - **互斥**:同一时间只...

    java学习资料-线程

    调用wait()、join()、LockSupport.park()等方法会让线程进入等待(WAITING)状态,或者调用wait(long timeout)、sleep(long)、join(long)等方法会让线程进入定时等待(TIMED_WAITING)状态。最后,当线程执行完毕...

    java-springboot-demomicrometer_java_springboot_micrometer_

    例如,使用 `@Timed` 注解可以自动记录方法的执行时间,或者通过 `MeterRegistry` 的 `counter()`、`timer()` 方法来创建和更新自定义的计数器和定时器。 在实际项目中,`java-springboot-demomicrometer` 可能会...

    java-Thread-study-summary.zip_java 多线程

    - 守护(Timed Waiting):线程调用了带有超时参数的`wait()`、`sleep()`或`join()`,等待一段时间后自动唤醒。 - 结束(Terminated):`run()`方法执行完毕,线程结束。 3. **线程同步** - `synchronized`...

    JAVA-线程的入门记录

    9. `public final void join()`:等待线程终止。 #### 线程的生命周期 - **NEW**:创建了线程对象,但尚未调用`start()`方法。 - **RUNNABLE**:线程处于可运行状态,等待CPU调度。 - **BLOCKED**:等待进入同步...

    vibrator_vibration_Kernel_android源码_

    这包括设置GPIO模式、方向和值,通常使用`of_get_gpio()`或`of_get_named_gpio()`宏获取GPIO号,然后调用`gpio_request()`, `gpio_direction_output()`等函数进行设置。 4. **驱动程序注册和注销** 驱动程序需要...

    Linux多线程编程,替代sleep的几种方式

    我只想要进程的某个线程休眠一段时间的,可是用sleep()是将整个进程都休眠的,这个可能达不到,我们想要的效果了。目前我知道有三种方式:  1、usleep  这个是轻量级的,听说能可一实现线程休眠,我个人并不...

    Guide to the implementation of SCSI in Linux 2.6.X kernel

    - **`eh_timed_out`**: 错误处理超时检查。 - **`eh_abort_handler`**: 错误处理中止处理程序。 总之,Linux 2.6.X 内核中的 SCSI 实现是一个复杂而细致的过程,它通过分层架构和模块化设计实现了高效且灵活的数据...

    Timed-rounds-alarm-program.rar_LabView编程_LabView_

    在这个项目中,开发者可能使用了周期定时器,以设定固定的查房间隔时间。 2. **报警触发逻辑**:当达到预设的时间点,报警功能会被触发。这可能涉及到条件判断结构,如布尔逻辑运算,当当前时间与设定的查房时间...

    经典Java --线程

    线程可以通过sleep(), join(), wait()等方法进入不同的状态。 死锁:当两个或更多线程互相等待对方释放资源而形成的一种僵局。避免死锁的方法包括资源预分配、避免环路等待、设置超时和死锁检测恢复机制。 线程...

    java-thread-vedio.rar_java vedio

    - 定时等待(Timed Waiting):线程进入有限期等待,如调用sleep()、join(long)或wait(long)方法。 - 终止(Terminated):线程执行完毕或被中断。 3. **线程同步**: - **synchronized**:用于修饰方法或代码块...

    Java线程状态流转图

    * Thread.join():使线程从RUNNABLE状态转换到WAITING状态,直到join线程执行完毕。 * LockSupport.park():使线程从RUNNABLE状态转换到WAITING状态,直到超时时间到期。 * LockSupport.unpark():使线程从WAITING...

Global site tag (gtag.js) - Google Analytics