We have just finished cleaning up the code for Mutex and Threads in oscit and now we have to decide what kind of locking policy we want to implement.
Do we want:
The current (buggy) implementation of oscit library uses the first paradigm, but it’s bad because we forbid parallelisme all together by locking too much. Moreover, most objects can perfectly handle concurrent requests. For example, an object that is bound to some hardware sensor could return the current temperature to many callers at the same time without problem.
If we lock less, we have to lock better and analyse where concurrency could blow up. Here is a short list of such places:
From these examples, we see that it shouldn’t be too difficult to write proper locking inside the objects themselves.
Funding from the Swiss Federal Office of Culture to write the graphical frontend to rubyk !
General ideas for the design of rubyk.
comments