基本的にはゲームを書く必要があります。要するに、リソースを集めたり、ベースでリソースをアンロードしたり、自分や他のものを訓練する兵士(スレッド)があります。私は糸について読んできましたし、すでに6-7時間のマラソンを実践するためにそれらを使う方法はありますが、私はいくつかの助けが必要だと思います。だから、私は1つの関数を使用するスレッドで非常に単純なプログラムを書くことができます、 "こんにちは私はスレッド番号:N"を印刷する関数を言うことができます。しかし、私が得意でないもの - たとえば、print文でこの簡単なプログラムを調べると、各スレッドに関数へのポインタが与えられ、それはすべて楽しいゲームです。しかし、私の場合、私は複数の機能を実行する必要があり、私は何を得ないのですか?どのようにすべてのスレッドがすべての異なる機能を経由することができますか?主なアイデアは、mutexesとcondvarsを使用することですが、私は各スレッドにその引数の関数ポインタを1つだけ与えることができるので、私は3-4のような機能を持っているので、私はこのタスクを達成する方法がわかりません。私は各機能のための1つのスレッドの作成が問題を解決するとは思わない、ここに理由は次のとおりです。C言語のスレッド(linux)
Game begins!
Worker 1 is searching
Worker 1 is transporting
Worker 1 unloaded resources to Base station
Worker 2 is searching
Worker 2 is transporting
Worker 2 unloaded resources to Base stationW
Operation not supported
Worker 3 is searching
Worker 3 is transporting
Worker 3 unloaded resources to Base station
.....
b
Not enough resources
Worker 4 is searching
Worker 4 is transporting
Worker 4 unloaded resources to Base station
...
b
Worker 3 is constructing new building barracks
Worker 2 is searching
Worker 2 is transporting
Worker 2 unloaded resources to Base station
....
Worker 3 completed new building barracks
w
Warrior is being trained
Worker 3 is searching
Warrior is ready for duty
これはゲームの出力でなければなりません。 WとBは気にしないでください。実行するためには特定の条件を満たさなければならない操作があります。 私の質問は - 私は各機能に1つのスレッドを使用する必要がありますか?私はあなたが私の問題を解決することを望んでいない、私はちょうど私がこれにアプローチする必要があります、私に教えて非常に幸せになる、非常にありがとう!
スレッドとしての兵士などのオブジェクトのモデリングは、本当に悪い考えです。あなたのデザインを考え直してください。 – nwp
これは私の仕事です。私はそうする必要があります。それは私の考えではありません。 –