syok_2001 发表于 2010-5-27 10:23:26

请问每个线程都是无限循环函数吗

void rt_init_thread_entry(void* parameter)
{
/* LwIP Initialization */
#ifdef RT_USING_LWIP
        {
                extern void lwip_sys_init(void);

                /* register ethernetif device */
                eth_system_device_init();

#ifdef STM32F10X_CL
                rt_hw_stm32_eth_init();
#else
        /* STM32F103 */
        #if STM32_ETH_IF == 0
                        rt_hw_enc28j60_init();
        #elif STM32_ETH_IF == 1
                        rt_hw_dm9000_init();
        #endif
#endif

                /* re-init device driver */
                rt_device_init_all();

                /* init lwip system */
                lwip_sys_init();
                rt_kprintf("TCP/IP initialized!\n");
        }
#endif
}
这个线程为什么不是无限循环函数?

ffxz 发表于 2010-5-27 10:45:54

不都是。

想是就是,想不是就不是。

syok_2001 发表于 2010-5-27 10:50:39

回复【楼主位】syok_2001
-----------------------------------------------------------------------

如果不是循环函数,那么函数运行完毕后,线程是什么状态那?删除了吗?

ffxz 发表于 2010-5-27 10:55:33

如果是rt_thread_create创建出来的动态线程,

运行结束后,会删除thread tcb、删除thread stack。(释放相应分配的内存块)

如果是rt_thread_init初始化的静态线程,运行结束后,更改状态为INIT状态,并不再参与调度。
页: [1]
查看完整版本: 请问每个线程都是无限循环函数吗