NXT: wires and sensors

In the NXT graphical programming environment, a source block (such as a motor rotation sensor) and a sink block (such as a variable write)
connected by a wire can be in very different places in the program.
Which value will be used when the sink block using the information is executed -- the value of the source block at the time that block was executed, or the value of the source block at the time the sink block asks for it?
Since the software won't let me run a wire backwards in time from a source block to an earlier sink on the same thread of execution, I suspect that we read the sensor only once when the sensor block is executed, rather than repeatedly each time a block asks for input from the wire.
But if that's the case, what happens when a wire connects a sink block on one thread, with a source block on a different thread, and the sink is executed before the source?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
Add image file

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.