私が抱えている問題は、単一の生産者、複数の消費者の問題のようなものです。消費者が「違う」ことを除いて、私はそれを取る前に新しいアイテムを「覗く」(誰のためにあるかをチェックする)方法が必要です。
問題は、実際には複数のクライアントスレッドにサービスを提供する単一のサーバースレッドです。クライアントが情報を要求し、サーバーがこのクライアントに応答する必要があります
どうやってやるの?可能性は次のようなループです。
while (true) {
if (q.peek() ... check here ...) {
// do something
} else {
Sleep(...); // prevent taking up too much CPU?
}
}
しかし、理想的/正しくないようですか?