南宁码科网站建设,wordpress用户调用,php专业网站,视频网站建设方案线程相关操作
线程相关的操作包括#xff1a;创建/初始化、启动、运行、删除/脱离。
动态线程与静态线程的区别#xff1a;动态线程是系统自动从动态内存堆上分配栈空间与线程句柄#xff08;初始化heap之后才能使用create创建动态线程#xff09;#xff0c;静态线程是…线程相关操作
线程相关的操作包括创建/初始化、启动、运行、删除/脱离。
动态线程与静态线程的区别动态线程是系统自动从动态内存堆上分配栈空间与线程句柄初始化heap之后才能使用create创建动态线程静态线程是由用户分配栈空间与线程句柄。 线程任务执行完毕系统会自动回收资源无需调用删除函数。
获得当前线程 在程序的运行过程中相同的一段代码可能会被多个线程执行在执行的时候可以通过rt_thread_self();获得当前执行的线程句柄。
让出处理器资源让出处理器后当前线程仍然处于就绪态。 rt_thread_yield()
线程睡眠 rt_thread_sleep(); rt_thread_delay();
线程控制函数可改变优先级、启动线程、删除线程、绑定CPU多核 rt_thread_control();
设置和删除idle线程hook函数 rt_thread_sethook(); rt_thread_delhook();
空闲线程是一个线程状态永远为就绪态的线程因此设置的钩子函数必须保证空闲线程在任何时刻都不会处于挂起状态例如rt_thread_delay()rt_sem_take()等可能会导致线程挂起的函数都不能使用。
设置调度器hook函数在系统线程切换时这个钩子函数将被调用 rt_scheduler_sethook();