|
10월이 다 가고 있는 시점이네요.. ^^..
Thread가 동시에 실행한다고 얘기는하지만..
완전히 동시는 아니지 않습니까? cpu의 사용시간을 짧게 쪼개서 Thread가 나눠쓰기 때문에
동시에 실행된다고 보는것이죠..
cpu가 2개라면 thread 2개는 완전히 동시에 실행될 수 있겠죠(예상..)
저도 경험이 없어서.. 4개월이나 지났고. 헤헤..
모두 열심히 하세요..~~
fbpsok 님이 쓰신 글 :
: 지금 쓰레드를 사용해서 입출력을 제어하는 프로그램을 짜고 있습니다.
: 그러니까 자동화용 프로그램이죠...
:
: 그런데 쓰레드를 사용하다 이상한 점이 있어서 질문합니다.
: 그러니까 쓰레드를 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 통신)
: }
:
: 제발 좀 답변 부탁드립니다.
|