再谈线程等待-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3977447
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

分类:

2007-10-26 14:30:39

前段时间用到linux下的线程等待, 当时找了很长时间, 具体的请查看:

现在要把写的东西移植到windows下, 今天运行我那写的东西, 编译没任何问题, 运行起来cpu使用100%, 应该是什么进入死循环了,
查了一下, 原来是在linux下写的线程等待在windows下没用了, 不等了。

下面是我写的linux下的线程等待代码, 结果在windows下根本就不等。
static void pthr_sleep(int sec)
{
  struct timeval  t_val;

  t_val.tv_sec  = sec;
  t_val.tv_usec = 0;

  select(0, null, null, null, &t_val);
}

自己以为这东西是万能的, 没想到又出问题了, 看来只有测试过的才可以说yes了。
想的再好还只是想的啊。

重新写了一下, windows下的线程等待就一个sleep就可以的

msdn的说法:
sleep function
suspends the execution of the current thread for at least the specified interval.

void winapi sleep(
  __in          dword dwmilliseconds
);


/**
 *
 * thread sleep
 *
 * 通过了windows和rh9的测试
 */

void thr_sleep(uint32_t sec)
{
#ifdef _win32
  sleep(sec*1000);
#else
  struct timeval t_val;

  t_val.tv_sec = sec;
  t_val.tv_usec = 0;

  select(0, null, null, null, &t_val);
#endif
}

阅读(1478) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图