使用windows.h的Dev C ++的简单线程示例

时间:2014-05-24 10:31:54

标签: c++ multithreading

我第一次尝试学习多线程,但我看到的大多数示例都有一个thread.h头文件。它不在Dev C ++中。

我找到了this文章,其中说你可以使用windows.h来完成。遗憾的是它并没有提供任何示例程序。有人可以提供一个示例程序,该程序使用windows.h中的线程函数或任何其他广泛使用并存在于Dev C ++中的头文件吗? 谢谢

2 个答案:

答案 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
);