博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程休眠代码(C++)
阅读量:5161 次
发布时间:2019-06-13

本文共 1901 字,大约阅读时间需要 6 分钟。

linux平台示例:

/* File      : thread1.c Author    : Mike E-Mail    : Mike_Zhang@live.com */ #include 
#include
#include
void m_threadSleep(int sec,int nsec) {
struct timespec sleepTime; struct timespec returnTime; sleepTime.tv_sec = sec; sleepTime.tv_nsec = nsec; nanosleep(&sleepTime, &returnTime); } void test1() {
m_threadSleep(1,0); printf("I'm thread1 ...\r\n"); } void test2() {
m_threadSleep(2,0); printf("I'm thread2 ...\r\n"); } int main() {
pthread_t thread1,thread2; void *result; time_t tbegin,tend; tbegin = time(NULL); pthread_create(&thread1,NULL,(void*)&test1,NULL); pthread_create(&thread2,NULL,(void*)&test2,NULL); pthread_join(thread1,&result); pthread_join(thread2,&result); tend = time(NULL); printf("%d\r\n",tend-tbegin); return 0; }

编译:

gcc thread1.c -o thread1 -lpthread
boost库实现示例:

/* File      : boost_thread1.cpp Author    : Mike E-Mail    : Mike_Zhang@live.com */ #include 
#include
#include
boost::xtime getSleepTime(int sec,int nsec) {
boost::xtime t; boost::xtime_get(&t, boost::TIME_UTC); t.sec += sec; t.nsec += nsec; return t; } void test1() {
boost::this_thread::sleep(getSleepTime(1,500)); std::cout <<"I'm thread1 !"<< std::endl; } void test2() {
boost::this_thread::sleep(getSleepTime(3,500)); std::cout <<"I'm thread2 !"<< std::endl; } int main(int argc, char* argv[]) {
boost::thread thrd1(&test1); boost::thread thrd2(&test2); std::time_t t_begin,t_end; t_begin = time(NULL); thrd1.join(); thrd2.join(); t_end = time(NULL); std::cout<
<

编译命令:

g++ boost_thread1.cpp -o boost_thread1 -lboost_thread-mt

转载于:https://www.cnblogs.com/MikeZhang/archive/2012/01/07/2315708.html

你可能感兴趣的文章
poj2947(高斯消元解同模方程组)
查看>>
Node-Webkit打包
查看>>
Kotlin——初级篇(八):关于字符串(String)常用操作汇总
查看>>
迷失在小镇上的日记(5)
查看>>
Java Annotation 注解
查看>>
《跟我学IDEA》一、下载安装idea,设置背景字体编码,配置JDK
查看>>
子类中调用父类方法
查看>>
基本数据类型
查看>>
C#操作串口总结
查看>>
【leetcode刷题笔记】Divide Two Integers
查看>>
【leetcode刷题笔记】Letter Combinations of a Phone Number
查看>>
笨办法学Python(第三版)pdf
查看>>
DB层面上的设计 分库分表 读写分离 集群化 负载均衡
查看>>
放养两周总结
查看>>
JQuery控制radio选中和不选中方法总结
查看>>
K3 12.3表说明
查看>>
2019年春季第九周 编程总结
查看>>
Discuz!NT静态文件缓存(SQUID)
查看>>
andorid ListView和GirdView 与ScrollView 冲突
查看>>
WP8.1和Win8.1的不同之处
查看>>