次のコードでは、「スレッド」を使用していません。複数のインスタンスを作成しても問題はありますか?スレッドを使用すると、スレッドがアドレス空間を共有するため、機能が損なわれる可能性があります。スレッドの周りに複数のインスタンスを作成すると失敗しますか? - シングルトンパターン
もちろん、複数のオブジェクトを作成する必要はありませんが、私はそうしています(私がここでやったやり方)、それは問題になるでしょうか?あなたが唯一のスレッドからインスタンスを使用する場合は
#include <iostream>
using namespace std;
class boiler
{
private:
// Non static variables can't be initialized inside a class.
bool boilerEmpty;
bool mixtureBoiled;
public:
boiler()
{
boilerEmpty = true;
mixtureBoiled = false;
}
void fillBoiler()
{
if (boilerEmpty == true)
{
cout << "\nFill boiler.";
boilerEmpty = false;
}
}
void boilMixture()
{
if ((boilerEmpty == false) && (mixtureBoiled == false))
{
cout << "\nBoil mixture";
mixtureBoiled = true;
}
}
void drainMixture()
{
if ((boilerEmpty == false) && (mixtureBoiled == true))
{
cout << "\nDrain mixture.";
boilerEmpty = true;
}
}
};
int main()
{
boiler b, c;
b.fillBoiler();
b.boilMixture();
b.drainMixture();
c.fillBoiler();
c.boilMixture();
c.drainMixture();
}
多分私は何かが欠けている...しかし、私は静的変数を参照していない... – Andrew
@Andrew私は静的変数を入れていません。私はそれらを必要としますか? –
スレッディングは静的なものがないので、ここでは複数のオブジェクトとは関係ありません。唯一の問題は、2つ以上のスレッドから同じオブジェクトへの同時アクセスです。 – KillianDS