软件开发中的线程实现、设计原则与测试相关知识
1. 线程销毁与资源释放
在某些环境下,线程的销毁和资源释放是重要的操作。以下是一个线程销毁的示例代码:
void
Thread_Destroy (Thread self)
{
OS_ERR err;
OSSemPend(&(self->Sem), 0, OS_OPT_PEND_BLOCKING, 0, &err);
OSTaskDel(&(self->TCB), &err);
OSSemDel(&(self->Sem));
OSMemPut (&AppMemTask, self, &err);
}
当 OSSemPend() 返回后, Thread_Destroy() 会终止任务并释放由 Micrium 控制的资源。
2. Win32 线程实现
Win32 实现基于 Win32 API,允许线程的创建和执行分为两个步骤。
2.1 线程结构体定义
typedef struct ThreadStruct
{
HANDLE threadHandle;
ThreadEntryFunction entry;
void * parameter;
BOOL started;
} ThreadStruct;
<
超级会员免费看
订阅专栏 解锁全文
16万+

被折叠的 条评论
为什么被折叠?



