返回信息流WHAT扴 NEW IN CLR VIA C#, 3RD EDITION AS COMPARED TO THE 2ND EDITION
Last week I submitted the reaming chapters for my new book. It is now being edited and should be available right around the time that Visual Studio 2010 launches (March 22, 2010).
One place you can order it is here: http://www.amazon.com/CLR-via-C-Third-Pro-Developer/dp/0735627045
I know that many people will ask me what are the differences between the 2nd edition and the 3rd edition and so I thought I'd create this blog post to address this.
Overall, every chapter has been modified making the text clearer, fixing any known mistakes and I抳e added more 64-bit coverage as this hardware is becoming more commonplace. I' ve also embellished a lot of text to reflect new things that I've learned in the last 5 years since the previos edition of the book was published. In addtion, since the 2nd Edition of the book covered version 2.0 of the .NET Framework and C#, the new book adds coverage of versions 3.0, 3.5 and 4.0.
Also, I always thought I抎 write a Threading Book showing how to properly architect software to build responsive and scalable applications and components in today抯 world of multi-core computers. However, I decided to just include this other book抯 content in the 3rd Edition of CLR via C# and so Part 5 of the book has five pretty lengthy chapters related to Threading. These chapters (like all chapters in the book) are very prescriptive. That is, I don抰 just explain what is in the .NET Framework and how to use it. I explain when to use it and why as well as pitfalls associated with various constructs. I have written a lot of threading material over the past 20+ years and this is all new material presented in an all new way that I think will resonate well with software developers. The 2nd edition of CLR via C# had two chapters related to threading; the five new chapters contain a small part of that material but the new chapters are basically rewritten and add all of the new stuff that is being introduces with .NET 4.0.
Below is the Table of Contents for CLR via C#, 3rd Edition and a brief description of what has been added to each chapter since the 2nd Edition.
Part I � CLR Basics
Chapter 1-The CLR抯 Execution Model
Added about discussion about C#抯 /optimize and /debug switches and how they relate to each other.
Chapter 2-Building, Packaging, Deploying, and Administering Applications and Types
Improved discussion about Win32 manifest information and version resource information.
Chapter 3-Shared Assemblies and Strongly Named Assemblies
Added discussion of TypeForwardedToAttribute and TypeForwardedFromAttribute.
Part II � Designing Types
Chapter 4-Type Fundamentals
No new topics.
Chapter 5-Primitive, Reference, and Value Types
Enhanced discussion of checked and unchecked code and added discussion of new BigInteger type. Also added discussion of C# 4.0抯 dynamic primitive type.
Chapter 6-Type and Member Basics
No new topics.
Chapter 7-Constants and Fields
No new topics.
Chapter 8-Methods
Added discussion of extension methods and partial methods.
Chapter 9-Parameters
Added discussion of optional/named parameters and implicitly-typed local variables.
Chapter 10-Properties
Added discussion of automatically-implemented properties, properties and the Visual Studio debugger, object and collection initializers, anonymous types, the System.Tuple type and the ExpandoObject type.
Chapter 11-Events
Added discussion of events and thread-safety as well as showing a cool extension method to simplify the raising of an event.
Chapter 12-Generics
Added discussion of delegate and interface generic type argument variance.
Chapter 13-Interfaces
No new topics.
Part III � Essential Types
Chapter 14-Chars, Strings, and Working with Text
No new topics.
Chapter 15-Enums
Added coverage of new Enum and Type methods to access enumerated type instances.
Chapter 16-Arrays
Added new section on initializing array elements.
Chapter 17-Delegates
Added discussion of using generic delegates to avoid defining new delegate types. Also added discussion of lambda expressions.
Chapter 18-Attributes
No new topics.
Chapter 19-Nullable Value Types
Added discussion on performance.
Part IV � CLR Facilities
Chapter 20-Exception Handling and State Management
This chapter has been completely rewritten. It is now about exception handling and state management. It includes discussions of code contracts and constrained execution regions (CERs). It also includes a new section on trade-offs between writing productive code and reliable code.
Chapter 21-Automatic Memory Management
Added discussion of C#抯 fixed state and how it works to pin objects in the heap. Rewrote the code for weak delegates so you can use them with any class that exposes an event (the class doesn抰 have to support weak delegates itself). Added discussion on the new ConditionalWeakTable class, GC Collection modes, Full GC notifications, garbage collection modes and latency modes. I also include a new sample showing how your application can receive notifications whenever Generation 0 or 2 collections occur.
Chapter 22-CLR Hosting and AppDomains
Added discussion of side-by-side support allowing multiple CLRs to be loaded in a single process. Added section on the performance of using MarshalByRefObject-derived types. Substantially rewrote the section on cross-AppDomain communication. Added section on AppDomain Monitoring and first chance exception notifications. Updated the section on the AppDomainManager class.
Chapter 23-Assembly Loading and Reflection
Added section on how to deploy a single file with dependent assemblies embedded inside it. Added section comparing reflection invoke vs bind/invoke vs bind/create delegate/invoke vs C#抯 dynamic type.
Chapter 24-Runtime Serialization
This is a whole new chapter that was not in the 2nd Edition.
Part V � Threading
Chapter 25-Threading Basics
Whole new chapter motivating why Windows supports threads, thread overhead, CPU trends, NUMA Architectures, the relationship between CLR threads and Windows threads, the Thread class, reasons to use threads, thread scheduling and priorities, foreground thread vs background threads.
Chapter 26-Performing Compute-Bound Asynchronous Operations
Whole new chapter explaining the CLR抯 thread pool. This chapter covers all the new .NET 4.0 constructs including cooperative cancelation, Tasks, the aralle class, parallel language integrated query, timers, how the thread pool manages its threads, cache lines and false sharing.
Chapter 27-Performing I/O-Bound Asynchronous Operations
Whole new chapter explaining how Windows performs synchronous and asynchronous I/O operations. Then, I go into the CLR抯 Asynchronous Programming Model, my AsyncEnumerator class, the APM and exceptions, Applications and their threading models, implementing a service asynchronously, the APM and Compute-bound operations, APM considerations, I/O request priorities, converting the APM to a Task, the event-based Asynchronous Pattern, programming model soup.
Chapter 28-Primitive Thread Synchronization Constructs
Whole new chapter discusses class libraries and thread safety, primitive user-mode, kernel-mode constructs, and data alignment.
Chapter 29-Hybrid Thread Synchronization Constructs
Whole new chapter discussion various hybrid constructs such as ManualResetEventSlim, SemaphoreSlim, CountdownEvent, Barrier, ReaderWriterLock(Slim), OneManyResourceLock, Monitor, 3 ways to solve the double-check locking technique, .NET 4.0抯 Lazy and LazyInitializer classes, the condition variable pattern, .NET 4.0抯 concurrent collection classes, the ReaderWriterGate and SyncGate classes.
这是一条镜像帖。来源:北邮人论坛 / dot-net / #356同步于 2009/12/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
明年将有Jeffery Richter的.NET框架书籍新版本
ahomer
2009/12/2镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
竟然有些乱码。。。直接上他的blog看吧
http://www.wintellect.com/cs/blogs/jeffreyr/default.aspx
【 在 ahomer (水上蓝心) 的大作中提到: 】
: WHAT扴 NEW IN CLR VIA C#, 3RD EDITION AS COMPARED TO THE 2ND EDITION
: Last week I submitted the reaming chapters for my new book. It is now being edited and should be available right around the time that Visual Studio 2010 launches (March 22, 2010).
: One place you can order it is here: http://www.amazon.com/CLR-via-C-Third-Pro-Developer/dp/0735627045
: ...................
【 在 ahomer 的大作中提到: 】
: WHAT扴 NEW IN CLR VIA C#, 3RD EDITION AS COMPARED TO THE 2ND EDITION
: Last week I submitted the reaming chapters for my new book. It is now being edited and should be available right around the time that Visual Studio 2010 launches (March 22, 2010).
: One place you can order it is here: http://www.amazon.com/CLR-via-C-Third-Pro-Developer/dp/0735627045
: ...................
可能我这一辈子都不会用.net了[em16]
完全linux下工作? 在哪里高就哇?
【 在 jmpesp (垃圾|人渣|缅甸果敢第一司令) 的大作中提到: 】
: 可能我这一辈子都不会用.net了[em16]
【 在 ahomer 的大作中提到: 】
: 完全linux下工作? 在哪里高就哇?
不喜欢linux工作,只喜欢linux内核
目前是linux操作盲。。。
【 在 jmpesp 的大作中提到: 】
: 可能我这一辈子都不会用.net了[em16]
你肯定会用的...只是不一定去写...哈哈哈哈哈 文字游戏...
【 在 nonsense 的大作中提到: 】
: 你肯定会用的...只是不一定去写...哈哈哈哈哈 文字游戏...
介个。。。我要尽量少用,以后做到坚决不用
量变到质量[em21]
有必要这么抵制吗。。。
【 在 jmpesp (垃圾|人渣|缅甸果敢第一司令) 的大作中提到: 】
: 介个。。。我要尽量少用,以后做到坚决不用
: 量变到质量[em21]
【 在 ahomer 的大作中提到: 】
: 有必要这么抵制吗。。。
介个不是抵制 介个只是理想啊 理想化点嘛[em21]
不过说实话,c#真的很慢,至少初次启动是这样的