代码拉取完成,页面将自动刷新
#include <stdbool.h>
#include <stdio.h>
#include <windows.h>
#include <thread>
#include "timeslice.h"
// 创建5个任务对象
TimesilceTaskObj task_1, task_2, task_3, task_4, task_5;
// 具体的任务函数
void task1_hdl() { printf(">> task 1 is running ...\n"); }
void task2_hdl() { printf(">> task 2 is running ...\n"); }
void task3_hdl() { printf(">> task 3 is running ...\n"); }
void task4_hdl() { printf(">> task 4 is running ...\n"); }
void task5_hdl() { printf(">> task 5 is running ...\n"); }
// 初始化任务对象,并且将任务添加到时间片轮询调度中
void task_init() {
timeslice_task_init(&task_1, task1_hdl, 1, 10);
timeslice_task_init(&task_2, task2_hdl, 2, 20);
timeslice_task_init(&task_3, task3_hdl, 3, 30);
timeslice_task_init(&task_4, task4_hdl, 4, 40);
timeslice_task_init(&task_5, task5_hdl, 5, 50);
timeslice_task_add(&task_1);
timeslice_task_add(&task_2);
timeslice_task_add(&task_3);
timeslice_task_add(&task_4);
timeslice_task_add(&task_5);
}
// 开两个线程模拟在单片机上的运行过程
void timeslice_exec_thread() {
while (true) {
timeslice_exec();
}
}
void timeslice_tick_thread() {
while (true) {
timeslice_tick();
Sleep(10);
}
}
// int main() {
int timeslice_demo() {
task_init();
printf(">> task num: %d\n", timeslice_get_task_num());
printf(">> task len: %d\n", timeslice_get_task_timeslice_len(&task_3));
timeslice_task_del(&task_2);
printf(">> delet task 2\n");
printf(">> task 2 is exist: %d\n", timeslice_task_isexist(&task_2));
printf(">> task num: %d\n", timeslice_get_task_num());
timeslice_task_del(&task_5);
printf(">> delet task 5\n");
printf(">> task num: %d\n", timeslice_get_task_num());
printf(">> task 3 is exist: %d\n", timeslice_task_isexist(&task_3));
timeslice_task_add(&task_2);
printf(">> add task 2\n");
printf(">> task 2 is exist: %d\n", timeslice_task_isexist(&task_2));
timeslice_task_add(&task_5);
printf(">> add task 5\n");
printf(">> task num: %d\n", timeslice_get_task_num());
printf("\n\n========timeslice running===========\n");
std::thread thread_1(timeslice_exec_thread);
std::thread thread_2(timeslice_tick_thread);
thread_1.join();
thread_2.join();
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。