7 #include <native/task.h>
8 #include <native/timer.h>
12 RT_TASK task1
, task2
, task3
;
16 uint64_t waiting_time
= *(int *)arg
* 100000000;
17 rt_task_set_periodic(NULL
, TM_NOW
, waiting_time
);
18 rt_printf("Waiting time: %d\n", waiting_time
);
20 RT_TASK_INFO curtaskinfo
;
21 curtask
=rt_task_self();
22 rt_task_inquire(curtask
, &curtaskinfo
);
24 rt_printf("Task name: %s\n", curtaskinfo
.name
);
25 rt_task_wait_period(NULL
);
29 int main(int argc
, char* argv
[])
31 rt_print_auto_init(1);
32 mlockall(MCL_CURRENT
|MCL_FUTURE
);
33 rt_printf("start task\n");
35 rt_task_create(&task1
, "t1", 0, 50, 0);
36 rt_task_create(&task2
, "t2", 0, 50, 0);
37 rt_task_create(&task3
, "t3", 0, 50, 0);
43 rt_task_start(&task1
, &demo
, (void *)&num1
);
44 rt_task_start(&task2
, &demo
, (void *)&num2
);
45 rt_task_start(&task3
, &demo
, (void *)&num3
);
47 rt_printf("end program with CRTL+C\n");