|
지금 쓰레드를 사용해서 입출력을 제어하는 프로그램을 짜고 있습니다.
그러니까 자동화용 프로그램이죠...
그런데 쓰레드를 사용하다 이상한 점이 있어서 질문합니다.
그러니까 쓰레드를 5개 생성했습니다.
각 쓰레드가 하는일은 다음과 같습니다.
thread_a : 물체 A 를 B 지점으로 옮긴다.
thread_b: 물체 C 를 D 지점으로 옮긴다.
thread_c: 물체 E 를 F 지점으로 옮긴다.
thread_d: 물체 G 를 H 지점으로 옮긴다.
thread_e: 물체 I 를 J 지점으로 옮긴다.
여기서 쓰레드를 생성할때 a, b, c, d, e, 순서로 생성했습니다.
그런데 동작을 시키면 이것들이 동시에 동작하는것이 아니고
a 가 완료되고 b 가 실행되고 b 가 완료되면 c가 실행되고 c 가 완료되면 d 가
실행되고 d 가 완료되면 e 가 실행됩니다.
어떻게 동시에 같이 동작하게 할수는 없습니까...
제어프로그램 의 입출력에서는 쓰레드가 동시에 적용될수 없는것입니까...
그리고 쓰레드를 생성과 동작은 이런식으로 했습니다.
Tthread * thread_a;
thread_a = new Tthread(true);
void __fastcall thread_a::Execute()
{
Synchronize(UpdateDisplay);
}
void __fastcall thread_a::UpdateDisplay()
{
여기가 실제 쓰레드가 동작하는 부분입니다(입출력, A/D Conversion, RS232C 통신)
}
제발 좀 답변 부탁드립니다.
|