pfiles in Solaris suspends files for a short period while examining them, however, lsof does not. How does lsof work that allows it to retrieve information while not suspending files?
lsof read the kernel volatile memory, while
pfiles directly read directly from the application interface, thus causing it to suspend for a short period of time.
For that reason,
lsof does not truly provide an accurate system picture of the system, but it's better then the option of freezing the process while inspecting it.