
st-thead
文章平均质量分 68
ddr77
我就是ddr77,知道的人自然知道啦。
展开
-
怎么理解st_thread库(4)
st_thread的的调用过程是在过于复杂。为了方便理解,我想写了个比较简单的例子代码如下// jumptest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include jmp_buf buf;jmp_buf buf_banana;jmp_buf buf_apple;void banana(){ p原创 2016-10-08 16:26:05 · 2503 阅读 · 0 评论 -
如何理解state_thread库(5)
今天开始探讨st库里的线程调用模型原创 2016-10-10 11:08:22 · 1284 阅读 · 0 评论 -
怎么理解state thread 库(2)
我分析程序,一般首先是分析它的线程模型。看看一共有几个线程,各个线程都干了什么。但分析st-thread库,就比较迷茫了。因为它本身有个线程模块,其实是一个堆里的数据块,并没有真正的线程。我曾经怀疑,在st_ini里,有两次创建线程的机会,一个是一个idle_therad,一个是自带第一个线程。但仔细分析代码。还是没有真正的线程创建。莫非是外部创建线程,通过某种巧妙的方法,传给st库?看pub原创 2016-09-29 14:41:14 · 2534 阅读 · 0 评论 -
怎么理解state thread库?
主要一下几个问题1)到底st_thread库运行的线程是谁创建的?2)st_create_thread,创建的线程是个什么东西?3)线程怎么切换?4)和reactor是个什么关系?首先还原一些关键的代码。#define _ST_SWITCH_CONTEXT(_thread) \ ST_BEGIN_MACRO原创 2016-09-28 15:32:06 · 1638 阅读 · 0 评论 -
一篇介绍state thread库的好文章
原文地址为:http://coolshell.cn/articles/12012.html我复制黏贴下上回写了篇《一个“蝇量级”C语言协程库》,推荐了一下Protothreads,通过coroutine模拟了用户级别的multi-threading模型,虽然本身足够“轻”,杜绝了系统开销,但这个库本身应用场合主要是内存限制的嵌入式领域,提供原生态组件太少,使用限制太多,比如转载 2016-08-26 11:29:56 · 3659 阅读 · 0 评论 -
怎么理解st_thread库(3)
上次测试,st_thread库本身不会创建线程,其用到线程是调用st_ini()函数的线程。那么有个问题。怎么阻塞st_ini()的调用线程,让所有线程都跑完呢?方法1)在主线程中,调用while(true)阻塞主线程。如下需要注意的是,主线程不能用系统sleep()函数。必须用st库自己提供的st_sleep()函数,否则会造成主线程sleep()期间,其他线程不动。原创 2016-10-08 15:13:24 · 1326 阅读 · 0 评论