使用C语言如何用createthread创建两个线程实现字符的循环输入并且每隔五秒输出前面输入字符的个数 点击复制后,将打开C知道体验页 可
时间: 2023-05-17 15:04:13 浏览: 94
CreateThread函数创建窗口线程.rar_createthread_线程 窗口_线程函数
使用C语言,可以通过以下代码使用createthread创建两个线程实现字符的循环输入并且每隔五秒输出前面输入字符的个数:
```
#include <stdio.h>
#include <windows.h>
DWORD WINAPI thread1(LPVOID lpParam) {
int count = 0;
while (1) {
char c = getchar();
count++;
}
return 0;
}
DWORD WINAPI thread2(LPVOID lpParam) {
int count = 0;
while (1) {
Sleep(5000);
printf("输入字符个数:%d\n", count);
}
return 0;
}
int main() {
HANDLE hThread1, hThread2;
DWORD dwThreadId1, dwThreadId2;
hThread1 = CreateThread(NULL, 0, thread1, NULL, 0, &dwThreadId1);
hThread2 = CreateThread(NULL, 0, thread2, NULL, 0, &dwThreadId2);
WaitForSingleObject(hThread1, INFINITE);
WaitForSingleObject(hThread2, INFINITE);
CloseHandle(hThread1);
CloseHandle(hThread2);
return 0;
}
```
这段代码中,我们使用了两个线程,一个线程用于循环输入字符并计数,另一个线程每隔五秒输出前面输入字符的个数。我们使用了Windows API中的CreateThread函数来创建线程,并使用WaitForSingleObject函数来等待线程结束。注意,在使用CreateThread函数时,第一个参数为NULL表示使用默认的安全属性,第二个参数为0表示使用默认的堆栈大小,第三个参数为线程函数,第四个参数为传递给线程函数的参数,第五个参数为0表示线程立即开始执行,第六个参数为线程ID。
阅读全文