C语言怎样实现多线程?

JACoder 2015-12-24 01:45:45
我先编写了一个倒计时的函数
void time()
{
int hour, minute, second,i,j;
hour = 0;
minute = 0;
second = 5;
for (;;)
{
printf("-------------------------\n");
printf("*\t%02d:%02d:%02d\t*\n", hour, minute, second);
printf("-------------------------\n");
Sleep(1000);
system("cls");
second--;
if (second == 0)
{
if (minute == 0)
{
if (hour == 0)break;
hour--;
minute = 60;
}
if (minute == 0 && hour == 0)break;
minute--;
second = 59;
}
if (minute == 0 && hour == 0&&second==0)break;
}
printf("-------------------------\n");
printf("*\t时间到!!!\t*\n");
printf("-------------------------\n");
}

如果想要它能在运行主函数的游戏内容时起到计时的作用,就必须让这个函数和主函数同时运行。请问这个怎样可以实现?
...全文
1410 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
均陵鼠侠 2015-12-26
  • 打赏
  • 举报
回复
引用 10 楼 fefe82 的回复:
自从 C11 ,C 语言已经开始提供线程支持,并提供了 <threads.h>
C11只是建议,但是否支持多线程,取决于C实现。C并不提供<threads.h>,那是C实现提供的。
fefe82 2015-12-26
  • 打赏
  • 举报
回复
自从 C11 ,C 语言已经开始提供线程支持,并提供了 <threads.h>
mewiteor 2015-12-26
  • 打赏
  • 举报
回复
Thread support library 在visual studio中需包含头文件<thr\threads.h>
fefe82 2015-12-26
  • 打赏
  • 举报
回复
引用 11 楼 sholber 的回复:
[quote=引用 10 楼 fefe82 的回复:] 自从 C11 ,C 语言已经开始提供线程支持,并提供了 <threads.h>
C11只是建议,但是否支持多线程,取决于C实现。C并不提供<threads.h>,那是C实现提供的。[/quote] 这个东西确实是 conditional supported ,也就是可选的。 但是 C11 确实定义了 threads.h ,以及其中需要提供的类型、函数等,及其功能。
Mr.Brain 2015-12-25
  • 打赏
  • 举报
回复
系统调用系统api CreateThread(....); 需要包含头文件 #include <windows.h>
Mr.Brain 2015-12-25
  • 打赏
  • 举报
回复
sorry 需要调用
苦逼码农 2015-12-25
  • 打赏
  • 举报
回复
c语言没有提供 需要调用操作系统api !!!! c不像某些高级语言,比如java,就自带线程接口
  • 打赏
  • 举报
回复
楼主,可以试试beginthread,endthread
paschen 2015-12-24
  • 打赏
  • 举报
回复
创建一个线程用来计时,CreateThread
zhouxiaofeng1021 2015-12-24
  • 打赏
  • 举报
回复
百度一下 C语言 线程创建 以及多线程通讯
seanking1987 2015-12-24
  • 打赏
  • 举报
回复
pthread_create
Minikinfish 2015-12-24
  • 打赏
  • 举报
回复
_beginthread CreateThread

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧