I
I. Farbe
Hello,
I have inherited a complex multithreaded Java app about a year ago. It
continuously reads input data from a file and updates some data
objects. These data objects are then used by decision-making classes
running on parallel threads. Yet another thread is used to
continuously check the state of the decision-making classes and produce
output based on the combined state.
There were some deadlock issues that I was able to fix. There may
still be some thread contention issues.
My question is following: Assuming that all threading issues are
resolved, is it possible for an application like the one described
above to always produce the same output when given the same input.
As it runs now, the output of the identical runs matches about 85% -
90%, so I am trying to figure out whether the discrepancy is due to yet
uncovered bugs in the system, or if it's an expected Java behavior.
Thank you in advance for any insight
I have inherited a complex multithreaded Java app about a year ago. It
continuously reads input data from a file and updates some data
objects. These data objects are then used by decision-making classes
running on parallel threads. Yet another thread is used to
continuously check the state of the decision-making classes and produce
output based on the combined state.
There were some deadlock issues that I was able to fix. There may
still be some thread contention issues.
My question is following: Assuming that all threading issues are
resolved, is it possible for an application like the one described
above to always produce the same output when given the same input.
As it runs now, the output of the identical runs matches about 85% -
90%, so I am trying to figure out whether the discrepancy is due to yet
uncovered bugs in the system, or if it's an expected Java behavior.
Thank you in advance for any insight