Threads2 wrong solution possible
評価
調査の方向性
まず threads2 演習と、期待される結果 10 を受け入れている検証を見つけます。示されている解答を再現して抜け穴を確認し、その後、解答ファイルと出力がどのように検証されているかを調べます。不正な解答が拒否され、正しい threads2 の解答は引き続き受け入れられれば完了です。
索引モデルが issue の本文から書いたものです。
説明
It is possible to pass threads2 without actually solving a task. Following code will make it great and allow to pass while being wrong. Maybe worth discarding as you can still get it by matching with expected result(10) and checking solution file
use std::{sync::Arc, thread, time::Duration};
#[derive(Clone)]
struct JobStatus {
jobs_done: u32,
}
fn main() {
// TODO: `Arc` isn't enough if you want a **mutable** shared state.
let status = Arc::new(JobStatus { jobs_done: 0 });
let mut handles = Vec::new();
for _ in 0..10 {
let mut status_shared = Arc::clone(&status);
let handle = thread::spawn(move || {
thread::sleep(Duration::from_millis(250));
// TODO: You must take an action before you update a shared value.
Arc::make_mut(&mut status_shared).jobs_done += 1;
});
handles.push(handle);
}
// Waiting for all jobs to complete.
for handle in handles {
handle.join().unwrap();
}
// TODO: Print the value of `JobStatus.jobs_done`.
println!("Jobs done: {}", status.jobs_done);
}
- 主要言語
- Rust
- スター
- 64.6k
- フォーク
- 11.3k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
rust-lang/rustlings のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
A-exercises C-enhancement P-low
難易度 1/5 1時間未満 初心者へのやさしさ 76/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
-
Proposal: German (Deutsch) translation for Community Exercises再び着手できるかも @mo8it が 63 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
rust-lang/rustlings#2445 · コメント 4 件 · リアクション 2 件 · 担当者 1 名 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
rust-lang/rustlings の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
swc-project/swc-ai-issues#164 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
pop-os/cosmic-player#367 ·
-
good first issue help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
servo/rust-smallvec#873 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
messense/dav-server-rs#82 ·
メンテナーはふだん 1 日以内に返信