 |
|
(Updated) Presentation - Concurrent and Multi-Threaded Development with .Net
|
|
| |
Location: Blogs Mullin' 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 |
|
|
|