Find Jobs
Hire Freelancers

Producer-consumer Problem using C/C++ and Pthread APIs

$30-250 USD

キャンセル
投稿日: 約6年前

$30-250 USD

完了時にお支払い
1 Producer-consumer Problem using C/C++ and Pthread APIs (NOT Thread-safe) Implement a simple producer/consumer program using POSIX threads. You are to design the threads to run with a preemptive scheduler (note: Each call to pthread_create() will create a kernel thread on Linux and all kernel threads will be run with a preemptive scheduler on Linux) and to communicate through a bounded buffer. Design the buffer to have 10 slots. - DO NOT use mutex or semaphore at all! - Design the shared buffer to have 10 slots: o Use an integer array to hold the contents of the buffer o Use a counter variable to hold the number of occupied cells o Use a variable to keep track of the next location for the producer to insert a value o Use a variable to keep track of the next location for the consumer to remove a value. o Do not forget to initialize the counter and the two variables. - Implement the bounded shared buffer in a way that is NOT thread-safe, not protecting the update of the counter or the two variables. - Only one producer thread and only one consumer thread will be created in addition to the main thread. - The producer thread should send a sequence of integers to the consumer. Specifically, it should send the sequence 1, 2, 3, ..., 1000000, in that order by inserting each value in order to the shared buffer. In case that the buffer is full, it should do busy waiting using a while loop. Once all the values have been inserted, the producer thread should call pthread_exit(); - The consumer thread should receive them and check that it has indeed received exactly that sequence, in that order. If you should expect that something will go wrong. The consumer should discover that the numbers received are not in the correct sequence. As soon as the consumer sees an error, it should report how much of the sequence was received correctly, and what the next (incorrect) number was. - You don’t have to create separate functions for insert_item() and remove_item(). [Sample run] % ./producer_consumer1 ERROR: The consumer received the sequence up to 12000 correctly. The next number (incorrect) number was 12004. Requirements: • Makefile should be provided. • The name of the executable file should be “producer_consumer1”.
プロジェクト ID: 16775248

プロジェクトについて

7個の提案
リモートプロジェクト
アクティブ 6年前

お金を稼ぎたいですか?

Freelancerで入札する利点

予算と期間を設定してください
仕事で報酬を得る
提案をご説明ください
登録して仕事に入札するのは無料です
この仕事に7人のフリーランサーが、平均$131 USDで入札しています
ユーザーアバター
Hello, I am interested in this project and so wanted to discuss more it in details. I have a lot of experience in C programming. I will keep your time. And I will provide you quality work according to your instrument. Thanks
$98 USD 3日以内
5.0 (99 レビュー)
6.1
6.1
ユーザーアバター
Hello I did read your project detail carefully(producer-consumer console program) I can develop this program. I am sure that I can send you best result in two days. Please contact me Best regards.
$150 USD 3日以内
5.0 (21 レビュー)
5.0
5.0
ユーザーアバター
Hello.. I can do it.. provide more details
$111 USD 1日以内
5.0 (8 レビュー)
3.9
3.9

クライアントについて

UNITED STATESのフラグ
LINCOLN, United States
5.0
7
お支払い方法確認済み
メンバー登録日:4月 25, 2018

クライアント確認

ありがとうございます!無料クレジットを受け取るリンクをメールしました。
メールを送信中に問題が発生しました。もう一度お試しください。
登録ユーザー 投稿された仕事の合計
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
プレビューを読み込み中
位置情報へのアクセスが許可されました。
あなたのログインセッションの有効期限がきれ、ログアウトされました。もう一度ログインしてください。