Linux上每隔半个小时执行一个线程(C/C++),怎么写?

text_now 2011-07-05 09:34:13
程序里已经有线程A和线程B了,线程A和B是一直在运行的。现在想再开一个新的线程C,这个线程要每半个小时执行一次。这个该怎么写呢?有思路和例子都好,麻烦了。^_^
...全文
438 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2011-07-05
  • 打赏
  • 举报
回复
Linux不是有定时器吗,定时控制一下
luciferisnotsatan 2011-07-05
  • 打赏
  • 举报
回复
设个定时器
辰岡墨竹 2011-07-05
  • 打赏
  • 举报
回复
恩,这类较长间隔的任务,还是用系统提供的cron定时功能比较好,可以节约系统资源,你自己用定时器的话,就得有多余的线程始终等待定时器。
具体用法可以看:
http://www.markus-gattol.name/ws/time.html#cron
pathuang68 2011-07-05
  • 打赏
  • 举报
回复
我也觉得楼上说的crontab就可以解决楼主的问题。

事实上crontab就是专门用来干类似这样的活的。从它的名字就可以看出来chron-tab = chronic - table,
chron-是表示“时间”含义的词根。
mich_mia 2011-07-05
  • 打赏
  • 举报
回复
比如说每隔30分钟执行一次/bin/ls ,在crontab -l中添加一条
*/30 * * * * /bin/ls
mich_mia 2011-07-05
  • 打赏
  • 举报
回复
给你个思路,linux下面首先把要执行的东西写成sbin下的一个脚本,然后再crontab -l中添加自动执行的时间,至于crontab 怎么用,自己百度下就明了。
冻结 2011-07-05
  • 打赏
  • 举报
回复
while(1){
do();
sleep(30*60);
}
这样不可以吗?
ForestDB 2011-07-05
  • 打赏
  • 举报
回复
pthread_cond_timedwait??
或者主进程里面隔30分钟创建一次??

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧