2010-04-17 3 views

답변

2

'채널'은 순차적이므로 여기의 대답은 '예'라고 생각합니다.

그러나 2 개의 독립 스레드를 사용하면 'first'의 의미가 명확하게 정의되지 않습니다.

+0

나는 그것이 잘 정의되어 있다고 생각합니다. 쓰기 작업은 원 자성이므로 "첫 번째"스레드는 ... 글쎄 ... 첫 번째 쓰레드는 쓸 것입니다. 어떤 스레드인지는 중요하지 않습니다. – mafu

+0

나는 (당신의) 스레드 사이의 논리를 언급하고있었습니다. –

0

나는 이것에 대해 조금 더 생각했다. 나는이 질문이 어리 석다 고 생각한다. WCF가 채널에 쓰는 스레드를 모두 신경 써야하는 이유는 무엇입니까?

채널에 대한 쓰기 작업은 원 자성이며 ​​TCP 전송은 순서대로 수행됩니다. 헨크 (Henk)가 지적한 것처럼 채널은 완전히 순차적입니다. 클라이언트에서 똑같은 순서로 항상 발생합니다.

1

헨크의 질문 ('첫 번째'스레드가 의미하는 것)은 매우 흥미 롭다고 생각합니다.

어떤 시점에서 스레드를 일시 중단 할 수 있다고 가정하면 스레드 A가 스레드 B보다 먼저 Send() 메서드를 실행할 수 있지만 스레드 B가 사용자 코드를 처음으로 반환 할 수 있습니까?

호출자의 관점에서 볼 때 스레드 B가 전송을 먼저 완료 한 것처럼 보입니다.

관련 문제