![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 2464 阅读 · 0 评论 -
如何理解state_thread库(5)
今天开始探讨st库里的线程调用模型原创 2016-10-10 11:08:22 · 1250 阅读 · 0 评论 -
怎么理解state thread 库(2)
我分析程序,一般首先是分析它的线程模型。看看一共有几个线程,各个线程都干了什么。 但分析st-thread库,就比较迷茫了。因为它本身有个线程模块,其实是一个堆里的数据块,并没有真正的线程。我曾经怀疑,在st_ini里,有两次创建线程的机会,一个是一个idle_therad,一个是自带第一个线程。但仔细分析代码。还是没有真正的线程创建。莫非是外部创建线程,通过某种巧妙的方法,传给st库?看pub原创 2016-09-29 14:41:14 · 2501 阅读 · 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 · 1600 阅读 · 0 评论 -
一篇介绍state thread库的好文章
原文地址为:http://coolshell.cn/articles/12012.html 我复制黏贴下 上回写了篇《一个“蝇量级”C语言协程库》,推荐了一下Protothreads,通过coroutine模拟了用户级别的multi-threading模型,虽然本身足够“轻”,杜绝了系统开销,但这个库本身应用场合主要是内存限制的嵌入式领域,提供原生态组件太少,使用限制太多,比如转载 2016-08-26 11:29:56 · 3579 阅读 · 0 评论 -
怎么理解st_thread库(3)
上次测试,st_thread库本身不会创建线程,其用到线程是调用st_ini()函数的线程。那么有个问题。 怎么阻塞st_ini()的调用线程,让所有线程都跑完呢? 方法1)在主线程中,调用while(true)阻塞主线程。如下 需要注意的是,主线程不能用系统sleep()函数。必须用st库自己提供的st_sleep()函数,否则会造成主线程sleep()期间,其他线程不动。原创 2016-10-08 15:13:24 · 1291 阅读 · 0 评论