Do C# programmers use I/O Completion Ports directly?

J

James A. Fortune

In PDC 08 session TL21: WF 4.0: Extending with Custom Activities, Matt
Winkler demo'ed a parallel workflow and mentioned "I/O Completion
Ports." I admit my ignorance of never having heard of them before
that.

From the MSDN entry for 'I/O Completion Ports':

http://msdn.microsoft.com/en-us/library/aa365198(v=vs.85).aspx

"Processes that handle many concurrent asynchronous I/O requests can
do so more quickly and efficiently by using I/O completion ports in
conjunction with a pre-allocated thread pool than by creating threads
at the time they receive an I/O request."

In one of the links from that entry:

http://blogs.msdn.com/b/oldnewthing/archive/2010/12/20/10107027.aspx

The first commenter (Anton Tykhyy) says:

"The .NET framework uses this trick when it does asynchronous I/O."

Is using I/O Completion Ports in conjunction with a thread pool in C#
a good idea? If so, is using C++ the best way to implement I/O
Completion Ports?

Thanks in advance,

James A. Fortune
(e-mail address removed)
 
J

James A. Fortune

The comment you quote is trying to explain that when you use any of the
async versions of i/o APIs within .NET, the .NET Framework is using IOCP
in its implementation.

That's good news. Thanks.

James A. Fortune
(e-mail address removed)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top