码迷,mamicode.com
首页 > 编程语言 > 详细

状态线程

时间:2016-08-20 10:13:23      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

轻量级协程,使用单线程用setjump与longjump来实现状态转移,快速,安全。

1.初始化

2.创建线程
   线程函数通过st提供的io实现
 
 
 
上下文切换
虚拟处理器
idle thread
信号转换为io事件
EDSM
 
一个线程模拟多线程
 
 
//打开udp
if ((nfd = st_netfd_open_socket(s)) == NULL) {
    h_errno = NETDB_INTERNAL;
    n = errno;
    close(s);
    errno = n;
    return -1;
  }
 
//发送udp
st_sendto(nfd, buf, len, (struct sockaddr *)&(_res.nsaddr_list[i]),
                  sizeof(struct sockaddr), timeout) != len)
 
 
//接收udp
 do {
      len = st_recvfrom(nfd, buf, blen, NULL, NULL, timeout);
      if (len <= 0)
        break;
    } while (id != hp->id);
 
 
 

状态线程

标签:

原文地址:http://www.cnblogs.com/manziluo/p/5789674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!