l
问题描述:
有
4
个线程和
1
个公共的字符数组。线程
1
的功能就是向数组输出
A
,线程
2
的功能就是向字符输出
B
,线程
3
的功能就是向数组输出
C
,线程
4
的功能就是向数组输出
D。
要求按顺序向数组赋值
ABCDABCDABCD
,
ABCD
的个数由线程函数
1
的参数指定。
[
注:
C
语言选手可使用
WINDOWS SDK
库函数
]
l
接口说明:
p
void
init(); //
初始化函数
p
void
Release(); //
资源释放函数
p
unsignedint__stdcall
ThreadFun1(PVOID
pM
) ; //
线程函数
1
,传入一个
int
类型的指针
[
取值范围:
1 – 250,
测试用例保证
]
,用于初始化输出
A
次数,资源需要线程释放
p
unsignedint__stdcall
ThreadFun2(PVOID
pM
) ;//
线程函数
2
,无参数传入
p
unsignedint__stdcall
ThreadFun3(PVOID
pM
) ;//
线程函数
3
,无参数传入
p
Unsignedint __
stdcall
ThreadFunc4(PVOID
pM
);//
线程函数
4
,无参数传入
p
char
g_write
[1032];
//
线程
1,2,3,4
按顺序向该数组赋值。
不用考虑数组是否越界,测试用例保证
用例测试:
public class Demo {
public static String multiThreadWrite(int times) {
// TODO: Add you codes here ...
// Caution: Using 4 threads is required!
return new String("");
}
}
用例测试:
public class DemoTest extends TestCase {
private void execTestCase(int num) {
String rst = Demo.multiThreadWrite(num);
String seed = "ABCD";
String chk = new String();
for (int i = 0; i < num; i ++) {
chk += seed;
}
assertEquals(chk, rst);
}
public void testCase01() {
execTestCase(1);
}
public void testCase03() {
execTestCase(15);
}
}