我的问题集????-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3977455
  • 博文数量: 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)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: linux

2006-10-12 17:45:12

初次写blog也不知道些什么好,想了好几天,我看就些我的问题吧!

一来可以时常提醒自己这么多问题还没解决, 二来要是有那位前辈看了帮小弟我解决了,那我自当感激...
多谢,多谢!!!
my e-mail: ghk_love(at)163.com
可能部分问题也会慢慢的解决的, 一但我解决了我会在我的blog上贴上的.

总之人生就是有一个个的问号组成的......

不求最美,但求实用.
----------------------------------------------------

q1[2006-10-12]:
    在linux c开发的问题,多线程中如何让一个线程等待? 就象多进程中的sleep(seconds).
sleep()是让进程等待的,不应该说等待吧,应该是挂起,如果在线程中用就是让整个进程挂起了噢...
google "pthread sleep"

from:

/* 不错, 可就是select函数功能不怎么会用 */
int mysleep(unsigned int sleepsecond)
{
  timeval        t_timeval;

  t_timeval.tv_sec = sleepsecond;
  t_timeval.tv_usec = 0;

  select( 0, null, null, null, &t_timeval );

  return 0;
}
--------------------------------------------
2006-11-24测试usleep结果同使用select, sleep结果一样, 整个进程处在等待状态.
--------------------------------------------

#if 0
static int thr_sleep(const int t)
{
  struct timeval t_val;
 
  t_val.tv_sec     = t;
  t_val.tv_usec    = 0;

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

static int thr_sleep(const int t)
{
  return usleep(t);
}

static void op_a(void)
{
  int     i = 0xffff;

  while (1)
  {
    printf("thread.%u wait thread start..,.\n", (uint32_t)pthread_self());
    while (i--);
    thr_sleep(100);

    printf("thread.%u no wait thread end..,.\n", (uint32_t)pthread_self());
  }
}

static void op_b(void)
{
  int     i = 0xffff;

  while (1)
  {
    printf("thread.%u no wait start..,.\n",

(uint32_t)pthread_self());
    while (i--);

    printf("thread.%u end..,.\n", (uint32_t)pthread_self());
  }
}

int main(int argc, char **argv)
{
  pthread_t    thr;

  printf("start thread.\n");

  if (pthread_create(&thr, null, (void *)op_a, null))
  {
    printf("create thread error: %s\n", strerror(errno));
    return (-1);
  }

  op_b();
  printf("end thread.\n");

  return (0);
}

阅读(2617) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:unix and windows

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