multithreading
play

Multithreading Checkout Multithreading project from SVN Joe - PowerPoint PPT Presentation

Multithreading Checkout Multithreading project from SVN Joe Armstrong, Programming in Erlang Q1 } A technique to: Run multiple pieces of code simultaneously on a single machine Time 1 1 1 1 1 Slices 1 2 3 4


  1. 
 Multithreading Checkout Multithreading project from SVN

  2. Joe Armstrong, 
 Programming in Erlang Q1

  3. } A technique to: ◦ Run multiple pieces of code “simultaneously” on a single machine Time à 1 1 1 1 1 Slices 1 2 3 4 5 6 7 8 9 0 1 2 3 4 running thread 1 running thread 2 ◦ Run different parts of a program on different processor cores Q2

  4. From jav java.lan a.lang public class R implements Runnable { ... public void run() { while (true) { ... maybe Thread.sleep(...); } } Our custom code } Wherever you want t to to sta tart t th the Thread: Q3 new Thread( object of type R ).start();

  5. } Example 1: A single object ◦ “Animate” it with button clicks ◦ Animate it with a Timer Timer timer = new Timer(50, animatorButton); timer.start(); ◦ Animate it by 
 using a thread public class R implements Runnable { ... public void run() { while (true) { ... maybe Thread.sleep(...); } } } Wherever you want t to to sta tart t th the Thread: new Thread( object of type R ).start();

  6. } Example 2: Multiple objects ◦ Use separate thread for each object’s “brain” ◦ Another thread asks Java to update the GUI http://www.roadsideamerica.com/story/8543

  7. } Web servers: many users connecting } Desktop applications: ◦ layout, spellchecking, auto-save, … } Scientific computing } Weather forecasting } …

  8. } What if one thread is in the middle of performing an action when its time slice ends? } What if a second thread’s action interferes with the first’s action? } See bank example in today’s project Optional: For a way to fix this, see Big Java Section 20.4 Q4

  9. Work time Be sure everyone is getting a chance to drive. Q5-6

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend