A principal feature of HEC-DSS is that several processes (multi-user) can read and write data to a single database at the same time. The multi-user access capability is implemented with system record locking and flushing functions. There is no daemon or other background program managing accesses to a database. A database may also exist on a Windows or Unix server, which can be accessed by users on PC's or other computers via the network.


Multi-user access is automatic and needs no action from the programmer or user. When HEC-DSS detects another processes accessing a file, writes by either (any) process to that file are flushed to disk to ensure that the other processes coordinate with that.

This allows one program to access what another program wrote. However, this flushing to disk on the Windows OS takes significantly longer (on the order of 100 times) than single user access. This is not true on some Unix workstations. It is recommended, when possible, to keep in a single user access mode on Windows PCs by accessing a file from only one vitural machine.

Reading from a DSS file being written to by another process

There is little measurable impact reading from or listening to a HEC-DSS file that is being written to by another process. You can watch a DSS file for changes, and read those changes, with little time impact. Refer to the listener discussion and example later in this document.