[問題] thread的回傳與等待
這支程式大意如下
使用者輸入一個值,此值與一個矩陣同時傳送到ThreadFunc運算與存取,再傳回main顯示
EX:使用者輸入"2",2與m這矩陣同時傳入ThreadFunc運算與存取
m[0] = 2*2;
m[1] = 3*3;
m[2] = 4*4;
m[3] = 5*5;
m[4] = 6*6;
然後再把m這array回傳到main
問題:
(1)使用者所輸入的值我會傳送,但是如何傳送m這array並回傳到main
(2)開啟了ThreadFunc後,它不管使用者輸入了沒就直接運算了,所以我要如何
讓它等使用者輸入完畢再進行運算。
我找過是不是可以用WaitForSingleObject ??
但是...要如何使用,我網路上找的範例程式都看不懂,不知道有沒有人可以示範
感謝!
cood如下
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void ThreadFunc(int n)
{
int i;
for(i = 0; i < 5; i++)
m[i] = (n + i) * (n + i);
}
int main()
{
HANDLE hThread;
DWORD threadId;
int n,m[5],i;
hThread = CreateThread(NULL,0,
(LPTHREAD_START_ROUTINE)ThreadFunc,
(LPVOID)n,0,&threadId);
printf("請輸入整數:");
scanf("%d",&n);
for(i = 0; i < 5; i++)
printf("m[%d] = %d",i,m[i]);
CloseHandle(hThread);
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.107.123
推
12/08 17:33, , 1F
12/08 17:33, 1F
→
12/08 17:37, , 2F
12/08 17:37, 2F
→
12/08 17:37, , 3F
12/08 17:37, 3F
→
12/08 18:00, , 4F
12/08 18:00, 4F
→
12/08 18:00, , 5F
12/08 18:00, 5F
→
12/08 21:06, , 6F
12/08 21:06, 6F
→
12/08 21:07, , 7F
12/08 21:07, 7F
→
12/08 21:08, , 8F
12/08 21:08, 8F
推
12/08 21:17, , 9F
12/08 21:17, 9F
→
12/08 21:18, , 10F
12/08 21:18, 10F
推
12/08 21:31, , 11F
12/08 21:31, 11F
→
12/08 21:32, , 12F
12/08 21:32, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章