Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I don't think serializing only "some threads" of a program can work, since you will run into problems with synchronization (some of the problems are described here <a href="http://java.sun.com/j2se/1.3/docs/guide/misc/threadPrimitiveDeprecation.html" rel="nofollow noreferrer">http://java.sun.com/j2se/1.3/docs/guide/misc/threadPrimitiveDeprecation.html</a> ). So persisting your whole program is the only viable way to get a consistent state.</p> <p>What you might look into is orthogonal persistence. There are some prototypical implementations:</p> <p><a href="http://research.sun.com/forest/COM.Sun.Labs.Forest.doc.external_www.PJava.main.html" rel="nofollow noreferrer">http://research.sun.com/forest/COM.Sun.Labs.Forest.doc.external_www.PJava.main.html</a></p> <p><a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.7429" rel="nofollow noreferrer">http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.7429</a></p> <p>But none of them are maintained anymore or have gained a lot of attraction (afaik). I guess checkpointing is not the best solution after all. In my own project <a href="http://www.siebengeisslein.org" rel="nofollow noreferrer">http://www.siebengeisslein.org</a> I am trying the approach of using lightweight transactions to dispatch an event so thread state does not have to be maintained (since at the end of a transaction, the thread callstack is empty again, and if a operation is stopped in mid-transaction, everything is rolled back, so the thread callstack does matter as well). You probably can implement something similar with any OODBMS.</p> <p>Another way to look at things are continuations (<a href="http://en.wikipedia.org/wiki/Continuation" rel="nofollow noreferrer">http://en.wikipedia.org/wiki/Continuation</a> , <a href="http://jauvm.blogspot.com/" rel="nofollow noreferrer">http://jauvm.blogspot.com/</a>). They are a way to suspend execution at defined code locations (but they are not necessarily persisting the thread state).</p> <p>I hope this gives you some starting points (but there is no ready-to-use solution to this afaik).</p> <p>EDIT: After reading your clarifications: You should definitely look into OODBMS. Dispatch each event in its own transaction and don't care about threads.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload