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.

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you canĀ Contact Us.