如何在C中为Windows创建多线程?

如何在C中为Windows创建多线程?,第1张

概述我不知道如何在C中创建线程,我看到了关于pthread.h库的评论,但后来我听说它仅适用于 Linux *** 作系统,我有一个函数,它是一个计时器,我想用这个函数创建一个线程但是我不知道我需要使用的库和语法编写代码,如果有人可以提供一个简单的代码与线程,或告诉我我需要放什么东西和函数的参数. 这是我创建倒计时用户申请的具体时间的功能: 我需要用该函数创建一个线程. 功能(倒计时): #include < 我不知道如何在C中创建线程,我看到了关于pthread.h库的评论,但后来我听说它仅适用于 Linux *** 作系统,我有一个函数,它是一个计时器,我想用这个函数创建一个线程但是我不知道我需要使用的库和语法编写代码,如果有人可以提供一个简单的代码与线程,或告诉我我需要放什么东西和函数的参数.

这是我创建倒计时用户申请的具体时间的功能:
我需要用该函数创建一个线程.

功能(倒计时):

#include <stdio.h>#include <stdlib.h>#include <stdio.h>#include <time.h>voID countdown(int second){    int secs = 1;    time_t unix;    struct tm * timeinfo;    time(&unix);    timeinfo = localtime(&unix);    int t1 = timeinfo->tm_sec;    int t2 = timeinfo->tm_sec;    int i = 0;    while(1 == 1)    {       time(&unix);       timeinfo = localtime(&unix);       if((t1 + i)  == timeinfo->tm_sec)       {              system("cls");              printf("Time left %d\n",timeinfo->tm_sec - t2 - second);              i++;       }       if(timeinfo->tm_sec >= (t1 + second))       {           system("cls");           puts("Your time its done");           break;       }    }}int main(){    int limit;    printf("How much time would you like (In secs): ");    scanf("%d",&limit);    countdown(limit);    system("PAUSE");    return 0;}
解决方法 这是一个简单的winAPI线程指南
http://www.cs.rpi.edu/academics/courses/netprog/WindowsThreads.html

话虽这么说,C是一种简约语言,没有像java这样的内置线程(也没有庞大的额外库).它是作为一种通用语言建立在它之上.在类Unix系统上,有超出ANSI / ISO标准的系统范围标准c库,它们是posix标准的一部分,pthread是posix-threads. windows C库是MS以自己的方式做事.您可以使用提供多 *** 作系统支持的框架,如glib或qt(windows,linux,其他* nix).还有端口和兼容层可以在windows中使用posix工具.除了库之外,Cigwin还为您提供了完整的posix环境.MinGW编译器允许您在win32层之上使用posix函数的端口.

像glib和qt这样的框架最好保持代码多平台,它们隐藏了 *** 作系统细节,允许更通用的方法.

glib是用于GUI开发的GTK库的一部分,QT也是一个GUI开发框架,但在C语言中.

总结

以上是内存溢出为你收集整理的如何在C中为Windows创建多线程?全部内容,希望文章能够帮你解决如何在C中为Windows创建多线程?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1254457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存