De ontwikkelaars van Mono hebben hebben maandag versie 2.4 uitgebracht. Mono is een opensource-implementatie van het .Net Framework. Door gebruik te maken van Mono kunnen ontwikkelaars crossplatformapplicaties schrijven die niet alleen onder Windows zullen werken, maar ook op bijvoorbeeld Mac OS X en Linux. De software bevat onder andere een C#-compiler, een .Net compatible runtime en twee sets api's. De eerstgenoemde verzorgt compatibiliteit met Microsofts .Net Framework inclusief ondersteuning voor asp.net, ado.net en een aantal andere componenten en de andere biedt allerlei Linux- en Unix-specifieke functies. Hieronder zijn de belangrijkste veranderingen sinds versie 2.2 samengevat:
Major HighlightsOther Changes
- SIMD support in Mono
SIMD constructors are now optimized. A few APIs have been renamed to better suit the Design Guidelines.- No more polling
One of the most challenging components of Mono was supporting Thread.Interrupt in a way that worked across multiple operating systems. In previous versions of Mono, the only solution we found that was portable was to poll every 100ms for potential interruptions requested by another thread.
Starting with Mono 2.4, that polling code is no longer present and instead a cross-platform solution to the problem is being used that provides both support for Thread.Interrupt() and does not consume CPU cycles.Behavioral Changes
- The old JIT has been removed, and only the new linear IR based JIT is available.
- The --enable-parallel-mark=yes argument to configure is now the default, this speeds up garbage collections on multi-core machines.
- WaitHandle now supports SignalAndWait.
- MarshalByRefObject supports MemberwiseClone
- COM: support NULLs IDispatch and IUnknown.
- Our System.Diagnostics.Process implementation will now properly raise the termination event on OutputDataReceived and ErrorDataReceived. See bug 459450 (https://bugzilla.novell.com/show_bug.cgi?id=459450) for details.
