我第一次尝试学习多线程,但我看到的大多数示例都有一个thread.h
头文件。它不在Dev C ++中。
我找到了this文章,其中说你可以使用windows.h
来完成。遗憾的是它并没有提供任何示例程序。有人可以提供一个示例程序,该程序使用windows.h
中的线程函数或任何其他广泛使用并存在于Dev C ++中的头文件吗?
谢谢
答案 0 :(得分:1)
Best option is to do threading in c or c++ use pthread.h header file
example work on gcc or dev c++
#include <stdio.h>
#include <stdlib.h>
#include<pthread.h>
int i=0;
void* fun()
{
for(i=0;i<100;i++)
printf("\nThe thread 1 is running");
}
void* van()
{
for(i=0;i<100;i++)
printf("\nthread 2 is running ");
}
int main()
{
pthread_t t1,t2;
pthread_create(&t1,NULL,fun,NULL);
pthread_create(&t2,NULL,van,NULL);
printf("\nI'm in main\n");
pthread_join(t2,NULL);
return 0;
}
答案 1 :(得分:0)
好windows.h
有一个名为CreateThread().
的功能
它的签名和其他信息可以看到here。
您需要一个回调函数,它将在您启动线程时开始执行。
NULL
可以传递给第一个lpThreadAttributes
参数。
HANDLE WINAPI CreateThread(
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
_In_ SIZE_T dwStackSize,
_In_ LPTHREAD_START_ROUTINE lpStartAddress,
_In_opt_ LPVOID lpParameter,
_In_ DWORD dwCreationFlags,
_Out_opt_ LPDWORD lpThreadId
);