BCB多线程入门

来源:互联网 发布:最优化方法宋巨龙pdf 编辑:程序博客网 时间:2024/05/22 14:11

1、创建一个线程执行的函数DWORD WINAPI ThreadFunc(LPVOID lpParameter):


DWORD WINAPI ThreadFunc(LPVOID lpParameter)
{
    int i;
    TForm1 *pForm;
    pForm = (TForm1*)lpParameter;
    for (i=0;i<1000;i++)
    {
        pForm->Label1->Caption=i;
    }
}

 

2、创建并执行线程(以下均为WIN)

 

HANDLE WINAPI CreateThread(
  __in          LPSECURITY_ATTRIBUTES lpThreadAttributes,//线程的安全属性,NULL
  __in          SIZE_T dwStackSize,//初始化线程的大小 ,0
  __in          LPTHREAD_START_ROUTINE lpStartAddress,//指向线程函数地址指针
  __in          LPVOID lpParameter,//新线程的参数
  __in          DWORD dwCreationFlags,//创建的标志,0立即执行,CREATE_SUSPENDED 则先挂起
  __out         LPDWORD lpThreadId //返回线程的标识符指针
);

3、终止线程

线程内部调用ExitThread

线程外部调用TerminateThread

 

4、设定线程优先级

SetThreadPriority

 

5、挂起和恢复线程

恢复线程ResumeThread

挂起线程SuspendThread

原创粉丝点击