My latest Pluralsight course is now available: Modern C++ Concurrency
This course is about the practical application of the modern C++ language to the field of concurrency or concurrent programming.
Need more convincing? This course will introduce you to modern C++ concurrency on the Windows operating system. Unfortunately, standard or portable concurrency is still in its infancy so a comprehensive study of concurrency cannot get away from the practical and platform-specific aspects of the craft. As such, this course uses the Windows operating system as the playground to explore concurrency in C++. This course will prepare you with a deep understanding of threads and synchronization at the OS level, including modern synchronization primitives such as slim reader/writer locks and condition variables. You will learn all about the mighty Windows thread pool API and the Concurrency Runtime. Finally, you will be introduced to some of the shortcomings that plague the C++11 Thread Support Library.
If you’d like to follow along you can download the exercise files or simply grab handle.h and debug.h from dx.codeplex.com.
Have you missed one of my previous courses? Master the essentials of COM, DirectX with C++, and even C programming!
Good information on threads and thread pools in windows and coordination objects in windows. I would have like to see more examples of what is broken in the current c11 standards and c14 standards library and why to stay away from them. Also an I/O completion port session and the thread pool would be nice, especially if modernized for windows 8.1. I believe a lot has changed since Windows vista time frame.
Thanks for the feedback. I’d like to do a course on I/O in the future. There’s a lot to talk about!
Yes, I/O please. Especially the elusive completion port model and the new registered io library in windows 8.
Hi Kenny. In your c++ com course you specify that we should use WRL instead of ATL in the future for writing com components (classic desktop). What do you suggest for writing native gui applications for desktop (not metro) as to have no dependence on ATL or WTL.
I tend to just use the Windows API directly since there is no contemporary replacement for MFC, ATL, and WTL at the moment.
Hi Kenny,
I was going through the Modern C++ Libraries course on pluralsight and in your “Trace demo” i see that you have declared the m_filename as const char * and passing it to swprintf_s function which actually expects a const wchar_t* for its third parameter . my compiler (visual studio 2015) throws a warning about this and when i try to execute the code, my debugger output shows some junk characters in the place of my file name. i tried to look online on how i can work around this but couldnt find a solution that works. can you please help resolve my issue?
Thanks
-Pavan
Hi Pavan,
The wide character versions of printf are non-standard on Visual C++. I suggest you stick with printf/sprintf and that have since been improved considerably in Visual C++. So the format strings would be a char* and params can be either char* (%s) or wchar_t* (%ls).
Hope that helps.
K