On Mar 4 2014 5:59 AM, andy pugh wrote:
> On 4 March 2014 12:52, Stuart Stevenson <[email protected]> wrote:
>
>> Gentlemen,
>>   It would help me understand and follow some of the current threads 
>> if I
>> knew the definition of atomic as used in this context.
>
>
> It refers to the original meaning of "atomic", "can not be cut".
>
> Unless steps are taken to prevent it, it would be possible for the 
> base
> thread to interrupt the servo thread while it was half-way through 
> writing
> a new value to a variable, the value read from memory would be some 
> bytes
> from the new number combined with some bytes from the old number. The 
> value
> read would potentially be completely wrong.
>
> The problem is slightly more complicated here, as we need to make 
> sure that
> complete sets of numbers that are related to each other are written 
> as-one
> with no danger of an interrupting thread reading a bad combination.

You can read about it in a number of places, but Wikipedia gives a 
decent start <http://en.wikipedia.org/wiki/Atomicity_(programming)>

There are other words we should look at using like:

Idempotence <http://en.wikipedia.org/wiki/Idempotence> and Concurrency 
<http://en.wikipedia.org/wiki/Concurrency_(computer_science)>

The different threads are concurrent, but there may be things happening 
which should be treated in an idempotent fashion.  I would need to think 
carefully about that in how various parts of the machine would need to 
interact with things like e-stop.

   EBo --


------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to