この製品は、複数のスレッド、プロセス、コンポーネント、またはシステムを使用して、一度に1つのプロセスのみが排他的に使用できる共有リソースへの一時的なアクセスを許可していますが、これらのアクションが適切に同期されていないため、複数のスレッドまたはプロセスによるこのリソースへの同時アクセスが発生する可能性があります。
同期とは、独立して動作する2つ以上のプロセスやスレッドが、互いに干渉することなく、予測可能な方法で共有リソース上で動作することを保証するための、さまざまな動作やメカニズムを指します。 共有リソースの操作の中には、アトミックに実行できないものがあります。つまり、複数のステップが、他のプロセスに干渉されることなく、連続して実行されることが保証されていなければなりません。 同期メカニズムはさまざまですが、ロック、ミューテックス、セマフォなどがあります。 共有リソースに対する複数ステップの操作が、干渉を受けずに実行されることが保証されない場合、結果として予測不可能な動作が発生する可能性があります。不適切な同期は、データやメモリの破損、サービス拒否などにつながる可能性がある。
The product utilizes multiple threads, processes, components, or systems to allow temporary access to a shared resource that can only be exclusive to one process at a time, but it does not properly synchronize these actions, which might cause simultaneous accesses of this resource by multiple threads or processes.
Synchronization refers to a variety of behaviors and mechanisms that allow two or more independently-operating processes or threads to ensure that they operate on shared resources in predictable ways that do not interfere with each other. Some shared resource operations cannot be executed atomically; that is, multiple steps must be guaranteed to execute sequentially, without any interference by other processes. Synchronization mechanisms vary widely, but they may include locking, mutexes, and semaphores. When a multi-step operation on a shared resource cannot be guaranteed to execute independent of interference, then the resulting behavior can be unpredictable. Improper synchronization could lead to data or memory corruption, denial of service, etc.