Web Resources:
CppReference.com, CPlusPlus.com, C++ TechLinksGoing Native 2013 - many experts
Herb Sutter's Blog, Herb Sutter on C++11, Herb Sutter keynote - Going Native 2012
Scott Meyer's Blog, S.M. on thread suspension, S.M.: C++11 Sampler
Stroustrup's Home Page, Code Project, Boost Library
Content:
This lecture covers Win32 Processes and Threads.-
Readings:
The C++ Standard Library, Nicolai Jusuttis, Chap 18: Concurrency -
Syllabus
Describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects. -
Projects:
Note: - We've received a few projects in rar archives. You were specifically told to submit zips.
Any submissions of Project #2 in rar format will not be processed.
If you eventually submit a project in zip format we will grade it and count the late fee from the time of sumission of the zip. Project #2, Project2HelpS17
Finding file dependencies from Abstract Syntax Tree. Project #3 - Code Publisher
Project #4 - Remote Code Publisher
Using Regular Expressions with Modern C++ There will be a Project #1 Grievance Session in CST 4-201 this Friday, 3/3/2017, at 5:00pm.Threads and Synchronization
Windows and C++11 Thread Resources:
(C++11 concurrency examples next lecture) Create Child Process - MSDN csdialog demo - why we need threads Process Diagram, Memory Mapped Files
Windows message processing, Windows GUI structure Win32 and C++11 Threads Presentation, pptx Win32 Thread Details, doc Simple callable objects demo, Simple C++ Consurrency Demo
Place to start learning about C++11 threading. C++11 Concurrency
A series of basic demos that cover most of what you need to know for the midterm and projects. Blocking Queue
Thread safe queue that blocks on dequeuing an empty queue. Lambda Capture
Demos for various options when capturing data with lambdas. C++11 Thread Techniques
Illustrations of how to do interesting things that are often needed in project designs. Queued Messages
Passes messages between threads using Blocking Queue. Tasks and Threadpool
Provides a ThreadPool class. Task is a wrapper around a static ThreadPool. Custom Threads and Locks Classes
C++ class encapsulating Win32 threads. This was written before C++11 and is included only to show how creating a thread class can be accomplished.Thinking about Software Design:
Software Design
Broad survey of ideas with examples
Design Presentation
Summarizes design issues for modules and classes.
Design Guidelines
Design rules and idioms that transcend Object Oriented Design. Design SummaryThese are the most important items from today's lecture: