+1.916.577.1977 | Downloads | Buy | Register | Login
 Search  
Wednesday, August 20, 2008
Search Blogs
 

Available Blogs
 

Previous Blogs
 

Technorati
 
More blogs about coversant.

About Coversant
 

(Updated) Presentation - Concurrent and Multi-Threaded Development with .Net
 
Location: BlogsMullin' with Mullins    
Posted by: Chris Mullins 6/3/2007
Update:
The Powerpoint slides (in PowerPoint 2007 format) from the presentation can be found here:
http://tinyurl.com/2vhfhw

Those same slides in PDF format can be found here:
http://tinyurl.com/3db6po

The Code Samples can be found at:
http://tinyurl.com/2wax24


[Original post below]

I'm going to be presenting on Concurrency and Multi-Threaded development at the Bay.Net User Group on June 14.

http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=269&mid=143

Event Description:
The proliferation of multi-core processors means developers are being dragged into a multi-threaded world. For applications to take advantage of the newest processors, which today are 2 and 4 cores, but tomorrow will be 8 & 16 cores, developers need to know how to write multi-threaded code.

Multi-threaded development, along with Asynchronous Programming, is considered by most developers to be mysterious and difficult topic. In this presentation, I cover the pros and cons of multi-threaded development with .Net, and review the common mistakes people make. Topics covered will include:

When & how to use the System Thread Pool
When & how to use Asynchronous I/O
Creating and managing your own threads
Synchronization and locking techniques
Techniques for debugging multi-threaded code

Some of the areas covered in detail will be Interlocked Methods and Volatile variables, Monitors and Events, the ReaderWriter lock, and the relevant differences between x86, x64 and IA64.

Time permitting, I'll also show how to tune multi-threaded applications using the various .Net Profilers on the market, and play “find the deadlock” for prizes.

I would love to hear from anyone planning on going about any specific topics or questions you might have.

If anyone from the Sacramento area is planning on going, I've currently got 3 empty seats in my car...
Permalink |  Trackback

Comments (7)  
Re: Upcoming Presentation - Concurrent and Multi-Threaded Development with .Net    By DarryChui on 6/15/2007
Hi, I attended this presentation last night and have some questions. I have a web application that performs data post to other web sites. Do you recommend using the Thread Pool or Asynchronous I/O or my own threads.
Also, you were going to post your slides and sample codes from the presentation. Please let me know where I can obtain them.

Thanks

Re: (Updated) Presentation - Concurrent and Multi-Threaded Development with .Net    By cmullins on 6/15/2007
You comment came in while I was updating the page to include links to the slide deck and source code I used, so that's taken care of.

For a web site that is making requests to other web sites, there are two real options:
1 - If you're comfortable switching, make your entire page an Asynchronous Web Page (which is well supported by ASP.Net), and make your calls to the remote sites using Async I/O.

2 - Take the pragmatic approach and leave your web pages synchronous, and scale out through load balancing and web farm technologies. This is often the better approach due to low cost of hardware, and the complexities that can be involved with Async ASP.Net web pages.

Re: (Updated) Presentation - Concurrent and Multi-Threaded Development with .Net    By bo_dong on 6/15/2007
Chris,
Good presentation yesterday. I am trying to use Begin/End calls to SQL server in my C# code. First question is how to replace SqlDataAdapter.Fill() with a BeginFill()/EndFill()? I can't find them.

Re: (Updated) Presentation - Concurrent and Multi-Threaded Development with .Net    By cmullins on 6/15/2007
I would take a look at one of the articles dedicated to doing Async I/O with SQL Server 2005 in .Net. A good starting point would be:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/async2.asp

... it looks like you'll need to switch to a DataReader model though to take advantage of things.

Re: (Updated) Presentation - Concurrent and Multi-Threaded Development with .Net    By bo_dong on 6/15/2007
Chris, Thank you for the quick response. How about CLR fucntions and CLR stored procedures injected into SQL server, should I do async calls there? How about SqlBulkCopy?

Re: (Updated) Presentation - Concurrent and Multi-Threaded Development with .Net    By cmullins on 6/15/2007
My knowledge of doing Async ADO.Net with SQL 2005 really ends at "BeginExecuteCommand" and "BeginExecuteReader".

I've never played with hosting .Net inside SQL, so I'm not sure of the implciations there, although I would imagine that's very similar.

money domain parking    By TrackBack on 12/6/2007
Their are so many web sites today - amazing info. Of course having the right domain name is really important for any business.
# money domain parking


©2008 Coversant, Inc. | Privacy Policy | About Coversant | Contact Info