Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Language Support for Asynchronous Programming

Embed code for this video

Copy the code above to embed our video on your website/blog.

Close

Video format

Option selected may change based on video formats available and browser capability.

Close

Download

Right click “Save as…”

Slides (view online)

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.

Follow the Discussion

  • Aaron StainbackAceHack 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!!!

  • broersabroersa

    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/

  • RubioRubio

    Is the source code for that sample app available anywhere?

  • @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();

  • Aaron StainbackAceHack 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.

Remove this comment

Remove this thread

close

Comment on this Session

Already have a Channel 9 account? Please sign in