如何 创建和调用线程 c++ 博客园
2个回答
展开全部
1、使用pthread库执行多线程,这个是Linux下的线程库 Windows下应该有自己的API,不过这种东西一般还是以Linux为标准。pthread_create()创建一个线程,传入fun()的函数指针就行了
#include <pthread.h>
#include <stdio.h>
#include <sys/time.h>
#include <string.h>
#define MAX 10
pthread_t thread[2];
pthread_mutex_t mut;
int number=0, i;
void *thread1()
{
printf ("thread1 : I'm thread 1\n");
for (i = 0; i < MAX; i++)
{
2.c++11现在有了线程<thread>你可以具体看下手册
展开全部
2.2、挂起线程
DWORD SuspendThread(HANDLE hThread);
该函数用于挂起参数hThread指定的线程,如果函数执行成功,则线程的执行被挂起。
2.3、唤醒线程
DWORD ResumeThread(HANDLE hThread);
该函数用于唤醒参数hThread指定的线程,结束该线程的挂起状态,并开始执行该线程。
2.4、结束线程
VOID ExitThread(DWORD dwExitCode);
该函数用于线程终结自身的执行,主要在线程的执行函数中被调用。参数dwExitCode用来设置线程的退出码。只能在线程内部调用该函数,谁调用就会结束谁。
2.5、终止线程
BOOL TerminateThread(HANDLE hThread,DWORD dwExitCode);
一般情况下,线程运行结束之后,线程函数会正常返回,但是应用程序可以调用该函数来强行终止某一线程的执行。各参数含义如下:
hThread:将被终结的线程的句柄;
dwExitCode:用于指定线程的退出码。
2.6、关闭线程句柄
BOOL CloseHandle(HANDLE hObject);
关闭一个已经打开对象的句柄,用在这里,指关闭一个线程的句柄。注意,只是关闭句柄,并不是关闭线程,线程依然在运行中。只是调用本函数的线程不再需要对该线程进行操作,放弃对它的控制,使线程的内部计数减一,当线程的内部计数为0时,线程会自动关闭。
DWORD SuspendThread(HANDLE hThread);
该函数用于挂起参数hThread指定的线程,如果函数执行成功,则线程的执行被挂起。
2.3、唤醒线程
DWORD ResumeThread(HANDLE hThread);
该函数用于唤醒参数hThread指定的线程,结束该线程的挂起状态,并开始执行该线程。
2.4、结束线程
VOID ExitThread(DWORD dwExitCode);
该函数用于线程终结自身的执行,主要在线程的执行函数中被调用。参数dwExitCode用来设置线程的退出码。只能在线程内部调用该函数,谁调用就会结束谁。
2.5、终止线程
BOOL TerminateThread(HANDLE hThread,DWORD dwExitCode);
一般情况下,线程运行结束之后,线程函数会正常返回,但是应用程序可以调用该函数来强行终止某一线程的执行。各参数含义如下:
hThread:将被终结的线程的句柄;
dwExitCode:用于指定线程的退出码。
2.6、关闭线程句柄
BOOL CloseHandle(HANDLE hObject);
关闭一个已经打开对象的句柄,用在这里,指关闭一个线程的句柄。注意,只是关闭句柄,并不是关闭线程,线程依然在运行中。只是调用本函数的线程不再需要对该线程进行操作,放弃对它的控制,使线程的内部计数减一,当线程的内部计数为0时,线程会自动关闭。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询