Write a multithreaded C++, Pthread program that outputs prime numbers <= N. This program should work as follows: the user will run the program and will enter a number N on the command line. The program will then create a separate thread that outputs all the prime numbers less than or equal to N specified in the command-line argument. Please comment every line in the code with its funcionality
Write a multithreaded C++, Pthread program that outputs prime numbers <= N. This program should work as follows: the user will run the program and will enter a number N on the command line. The program will then create a separate thread that outputs all the prime numbers less than or equal to N specified in the command-line argument. Please comment every line in the code with its funcionality
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Write a multithreaded C++, Pthread
Please comment every line in the code with its funcionality
Expert Solution
Step 1: Algorithm
- Start the program.
- Check if the command-line input contains exactly two arguments (the program name and N). If not, print an error message with the correct usage and exit the program.
- Parse the command-line argument N as an integer.
- Define a function
isPrime
that takes an integer as input and returns a boolean indicating whether the number is prime or not. - Define a function
printPrimes
that takes a void pointer as an argument (used to pass the value of N to the thread function). Within this function: a. Extract the value of N from the void pointer argument. b. Loop from 2 to N and for each number, check if it is prime using theisPrime
function. c. If the number is prime, print it to the console. - Create a thread object (
primeThread
) to execute theprintPrimes
function in a separate thread. - If the thread creation is successful, print an error message and exit the program.
- Wait for the thread to finish execution using
pthread_join
. - End the program.
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education