Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Utilizzare la classe ThreadPool in Windows Phone 7, con Visual Basic

Indubbiamente uno dei dogmi in qualunque scenario di programmazione è sempre quello di non bloccare l'interfaccia utente, ossia il thread della UI. La stessa cosa è vera quando si sviluppano app per Windows Phone 7. Ad esempio, è abbastanza comune per un'app scaricare informazioni da Internet, mostrare lunghe liste di dati ecc. Sebbene la cpu di questi dispositivi sia abbastanza veloce, ci sono fattori che possono impattare negativamente sulle performance, come ad esempio la lentezza della connessione a Internet oppure il rendering di liste di dati con template complessi. Di conseguenza non bisogna sovraccaricare il threa della UI e rendere l'interfaccia responsiva.

Per fare questo il modo più semplice e immediato in Windows Phone è quello di utilizzare un concetto già familiare dello sviluppo .NET, ossia la classe System.Threading.ThreadPool. Chiaramente questo OS ha un modello di threading diverso da quello classico del Framework, ma si possono facilmente accodare attività su thread differenti utilizzando la classe come siamo già abituati a fare. Ad esempio, in Windows Phone il seguente codice VB è ugualmente valido:

        System.Threading.ThreadPool.QueueUserWorkItem(Sub()
                                                          'Process your information here..
                                                      End Sub)

In questo caso stiamo anche facendo uso di una statement lambda al posto del puntamento a un delegate. Così facendo, il codice contenuto nella lambda (o nel delegate) verrà eseguito in un thread separato e l'interfaccia sarà fluida anche con operazioni lunghe.

Alessandro

Print | posted on mercoledì 6 luglio 2011 00:48 | Filed Under [ Visual Basic Silverlight e Windows Phone ]

Powered by:
Powered By Subtext Powered By ASP.NET