当前位置: 首页 > news >正文

电影网站模板下载简单网页图片

电影网站模板下载,简单网页图片,做英文网站,如何做免费网络推广创建动态线程最简单代码 #include <rtthread.h>//包含头文件static rt_thread_t thread1 RT_NULL; //创建线程控制块指针&#xff0c;指向空static void thread1_entry(void *parameter)//线程入口&#xff08;干什么&#xff09; {rt_kprintf("do something"…

创建动态线程最简单代码

#include <rtthread.h>//包含头文件static rt_thread_t thread1 = RT_NULL; //创建线程控制块指针,指向空static void thread1_entry(void *parameter)//线程入口(干什么)
{rt_kprintf("do something");
}int thread_run(void)
{thread1 = rt_thread_create("thread1",thread1_entry, RT_NULL,1024,30,10);if (thread1 != RT_NULL)//判断创建是否成功rt_thread_startup(thread1);return 0;
}MSH_CMD_EXPORT(thread_run, thread sample);//导入命令

静态函数

  1. 其他文件中可以定义相同名字的函数,不会发生冲突。
  2. 静态函数不能被其他文件所用。
  3. 静态函数会被自动分配在一个一直使用的存储区,直到退出应用程序实例,避免了调用函数时压栈出栈,速度快很多。

静态变量

  1. 不会被其他文件所访问,修改
  2. 其他文件中可以使用相同名字的变量,不会发生冲突。

字节对齐

参考此视频

动态线程和静态线程

动态线程静态线程
内存不占用RW/ZI段空间,空间小,需要动态分配内存占用RW/ZI段空间 ,不需要动态分配内存
运行效率相对低相对高

句柄

动态线程:static rt_thread_t tid1 = RT_NULL;
静态线程:static struct rt_thread thread2;
在这里插入图片描述

参看定义,得知:typedef struct rt_thread *rt_thread_t;,会发现前者是后者的指针,本质上是一样的东西

创建方式

比较:相对动态线程,静态线程需要额外提供线程句柄和线程栈地址

动态线程静态线程
线程名字需要提供需要提供
线程入口需要提供需要提供
入口参数需要提供需要提供
线程栈大小需要提供需要提供
线程优先级需要提供需要提供
时间片轮需要提供需要提供
线程句柄不需要提供 需要提供
线程栈地址不需要提供需要提供
  1. 动态线程
 tid1 = rt_thread_create("thread1",//线程名字thread1_entry, //线程入口RT_NULL, //入口函数参数THREAD_STACK_SIZE,//线程栈大小THREAD_PRIORITY, //线程优先级THREAD_TIMESLICE);//时间片轮
  1. 静态线程
rt_thread_init(&thread2, //线程句柄"thread2",//线程名字thread2_entry,//线程函数入口RT_NULL,//入口参数&thread2_stack[0],//线程栈地址sizeof(thread2_stack),//线程栈大小THREAD_PRIORITY - 1, //线程优先级THREAD_TIMESLICE);//时间片

备注:RW/ZI段是程序总共使用的RAM字节数


#include <rtthread.h>#define THREAD_PRIORITY         25 //定义的线程优先级
#define THREAD_STACK_SIZE       512//线程栈的大小
#define THREAD_TIMESLICE        5//时间片//动态线程
static rt_thread_t tid1 = RT_NULL; //静态定义一个线程号//线程1做什么:一直打印数值
static void thread1_entry(void *parameter)
{rt_uint32_t count = 0;while (1){/* 线程1采用低优先级运行,一直打印计数值 */rt_kprintf("thread1 count: %d\n", count ++);rt_thread_mdelay(500);}
}//静态线程
ALIGN(RT_ALIGN_SIZE)//字节对齐,线程栈需要4字节对齐(4字节刚好是一个指针的大小)
static char thread2_stack[1024];//线程栈
static struct rt_thread thread2;//线程2干什么:打印十次数字之后就打印退出语句
static void thread2_entry(void *param)
{rt_uint32_t count = 0;//计数for (count = 0; count < 10 ; count++){rt_kprintf("thread2 count: %d\n", count);}rt_kprintf("thread2 exit\n");
}//运行函数,需要被外部使用所以就不能使用static定义
int thread_sample(void)
{//创建线程1tid1 = rt_thread_create("thread1",thread1_entry, RT_NULL,THREAD_STACK_SIZE,THREAD_PRIORITY, THREAD_TIMESLICE);if (tid1 != RT_NULL)rt_thread_startup(tid1);//如果创建成功,启动线程1rt_thread_init(&thread2, //创建线程2"thread2",thread2_entry,RT_NULL,&thread2_stack[0],sizeof(thread2_stack),THREAD_PRIORITY - 1, THREAD_TIMESLICE);rt_thread_startup(&thread2);return 0;
}MSH_CMD_EXPORT(thread_sample, thread sample);//导入命令

关键字和API

关键字和API解释
rt_thread_t动态线程(结构体指针)
rt_thread静态线程(结构体)
ALIGN(RT_ALIGN_SIZE)设置变量4字节对齐
rt_thread_create创建动态线程
rt_thread_init创建静态线程
MSH_CMD_EXPORT命令导入
http://www.yayakq.cn/news/204622/

相关文章:

  • 青浦区网站建设公司服装公司网站模板
  • 企业建站多站点管理系统如何免费虚拟网站
  • 网站被攻击打不开怎么办临沂网站建设方案报价
  • 怎么建设企业网站山西seo网络营销公司
  • 网站建设公司面临的问题网站flash效果
  • 网站切图是什么意思青岛 网站维护
  • 做爰全过程网站免费的视频教程wordpress用多大主机
  • 佛山微网站建设天博wordpress屏蔽ip访问
  • 网站建设的结论智能做网站
  • 张家口网站seo广告公司怎么取名字
  • 企业网站设计论文凡科网站建设
  • php 网站后台模板合肥做兼职网站设计
  • 免费招聘网站平台有哪些网站目录结构说明
  • 甘肃省住房与建设厅网站首页北大学风建设网站
  • 网站地址栏图标怎么做西安微官网自助建站公司
  • 做网站排名公司推荐网站建设与管理案例教程教学大纲
  • 有网站怎么做淘宝客网页界面设计作品赏析
  • 电子商务网站开发实务石道元青岛网站建设 推荐青岛博采网络
  • 宜良网站建设建设摩托车报价大全
  • 聊城建设网站wordpress 自定义 类别
  • 怎样建设一个好的网站做ae动图的网站
  • 开公司核名的网址怎么做网站的优化排名
  • 贵州网推传媒有限公司淄博seo外包公司
  • 蓝田网站建设wordpress首页文章只显示标题
  • 制作网站模板查询企业年报的网站
  • 外国网站开放的浏览器新平台推广赚钱
  • 网站开发工作需要什么专业中国新闻社是什么单位
  • 萍乡网站制作凡科做的网站要收费吗
  • 网站代理运营济南网站怎么做
  • 验证码网站搭建新郑市住房建设局网站