Language Support for Asynchronous Programming

Sign in to queue

Description

Asynchronous programming is what the doctor usually orders for unresponsive client apps and for services with thread-scaling issues. This usually means a bleak departure from the imperative programming constructs we know and love into a spaghetti hell of callbacks and signups. C# and VB are putting an end to that, reinstating all your tried-and-true control structures on top of a future-based model of asynchrony.

For more information, check out this course on Microsoft Virtual Academy:

Tags:

C#, Async, VB

Day:

2

Embed

Download

Download this episode

For more information, check out this course on Microsoft Virtual Academy:

The Discussion

  • User profile image
    AceHack

    I'm glad to see so many questions about async\await.  Hopefully a similar pattern will show up in other languages... hint, hint, C++ Smiley  Keep up the amazing work!!!

  • User profile image
    broersa

    And it even works on the latest mono
    http://blog.bekijkhet.com/net-4-5-new-async-library-on-visual-studio-11-beta-and-latest-mono/

  • User profile image
    Rubio

    Is the source code for that sample app available anywhere?

  • User profile image
    milgner

    @AceHack: it is possible to wait for the result of an asynchronous operation in C++ using PPL tasks.

    It may need conversion from IAsyncOperation<> to a Concurrency::task<> and then you can use Concurrency::task<>::get() to comfortably achieve the same thing as await.

    auto classificationOp = runClassification(result->docText, result->lang);
    task<Platform::String^>classificationTask(classificationOp);
    Platform::String^ classification = classificationTask.get();

  • User profile image
    AceHack

    @milgner I think this would be a blocking wait and it think it will only work in Metro style apps.  I was really hoping for a await language feature in C++ that would do the auto continuation (state machine) kind of thing like C# (Non Blocking).  Herb mentioned having this language feature possibly in the future with his talk here http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/-Not-Your-Father-s-C-

    It took a while for that video to go up so I was completely unaware that Herb was already thinking about await as a C++ language extension or I would not have mentioned it again.  Thanks all language guys at Lang.Next, I've been very impressed.

Add Your 2 Cents