CS111 Section 4: Multithreading
Clone the section starter code by using the command below. This command creates a section4 directory containing the project files. Next, pull up the online section checkoff and have it open in a browser so you can jot things down as you go. Multithreading is a powerful tool for parallelizing tasks, particularly tasks that share data. In this section problem, we'll get practice with making a non-multithreaded program multithreaded to speed up its performance, and eliminate any race conditions while doing so. We've provided a program news-aggregator.cc that is fully implemented; it downloads news articles (slowly, one after the other) from across the web using RSS Feeds, and then lets the user search for keywords in them. Try out the program now! To run the program, you must specify a file with the list of RSS feeds to download articles from. (A single RSS feed is like a feed of recent articles, and news sources maintain these feeds publicly). Run make to compile it, and then run ./news-
CS111 Section 4: Multithreading Section 4: Multithreading NOTE: this website is out of date. This is the course web site from a past quarter. If you are a current student taking the course, you should visit the current class web site instead. If the current website is not yet visible by going to cs111.stanford.edu, it may be accessible by visiting this link until the new page is mounted at this address. Please be advised that courses' policies change with each new quarter and instructor, and any information on this out-of-date page may not apply to you. --> Sections Wed Feb 07 to Sat Feb 10 Th
Explore this link on the map →related reading
- Multi Core Programming and Threadsimomath.com
- Multithreading (computer architecture) - Wikipediaen.wikipedia.org
- Multithreading and Multiprocessing in 10 Minutes | Towards Data Sciencetowardsdatascience.com
- Reading 14: Concurrencyweb.mit.edu
- Reading 16: Mutual Exclusionweb.mit.edu
- LittleBookOfSemaphores.pdfgreenteapress.com
- Using Threads to Run Code Simultaneously - The Rust Programming Languagedoc.rust-lang.org
- C++11 Memory Modelpeople.cs.pitt.edu
- An Intro to Threading in Python – Real Pythonrealpython.com
- To Thread or Not to Thread: An In-Depth Look at Ruby’s Execution Models - Shopifyshopify.engineering
- BrrrVizbrrrviz.com
- Shared-State Concurrency - The Rust Programming Languagedoc.rust-lang.org