Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ΚΕΦΑΛΑΙΟ 6 ο<br />
{<br />
if (cnt_timeSteps % (simulationParameters.laser.getTD_steps() +<br />
simulationParameters.laser.getTP_steps()) < simulationParameters.laser.getTP_steps())<br />
{<br />
MDFunctions.irradiateParticle(particle);<br />
MDFunctions.removalCriterion(particle);<br />
}<br />
}<br />
private Particle particle;<br />
public Object call() throws Exception<br />
{<br />
run();<br />
return null;<br />
}<br />
}<br />
public class MovementJob implements Callable<br />
{<br />
public MovementJob(Particle p)<br />
{<br />
this.particle = p;<br />
}<br />
public void run()<br />
{<br />
MDFunctions.verletAlgorithm(particle, particlesProxy.getParticlesIterator());<br />
}<br />
private Particle particle;<br />
public Object call() throws Exception<br />
{<br />
run();<br />
return null;<br />
}<br />
}<br />
Οι κλάσεις αυτές αντιπροσωπεύουν τη φάση του Laser και τη φάση της κίνησης. Ανάλογα<br />
µε τον αριθµό των νηµάτων επιλέγονται να εργαστούν παράλληλα, χρησιµοποιούνται δύο ή<br />
περισσότερες κάθε φορά. Με αυτό τον τρόπο, εκµεταλλεύονται οι δυνατότητες του<br />
µοντέρνου υλικού, για παράδειγµα υπολογιστικά συστήµατα που έχουν δύο επεξεργαστές ή<br />
δύο πυρήνες. Γίνεται χρήση του concurrency framework της Java για την παράλληλη<br />
εκτέλεση τους. (java.util.concurrency).<br />
Όταν συµπληρωθεί ο χρόνος του πειράµατος, το σύστηµα περνάει στη φάση finalState.<br />
private void doFinalState()<br />
{<br />
229