How multi processing is achieved in JAVA?

Answer Posted / javalearner

An operating system executes multiple processes in a manner similar to that for multi-threading, except that each process stack refers to a different program in memory rather than code within a single program. The Java Virtual Machine (JVM), of course, controls the threading within the Java programs, just as the machine OS controls multiple processes.

In some JVM designs, threads can be assigned to native kernel processes in the OS. Furthermore, for operating systems such as Solaris and Windows NT that can control multiple processors, the threads can actually run on different processors and thus provide true parallel processing performance.

Whether its for multithreading or multiprocessing, the two basic designs for this context switching, i.e. the shifting of threads/processes in and out of a processor, include

preemptive or time-slicing - give each thread a fixed amount of time.

non-preemptive or cooperative - a thread decides itself when to surrender control
Generally, the preemptive approach is the most flexible and robust. A misbehaving thread cannot hog all the resources or hang the processor. Unfortunately, the context switching is not specified for Java and so different JVM implementations do it differently. Thus you should design your multi-threaded code for either possibility if you want it to be suitable for broad distribution. This means adding yield()or sleep() calls to release control at suitable points in the thread code.

Is This Answer Correct ?    3 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is break and continue statement?

625


What is the difference between serializable and externalizable interfaces?

581


How would overload a function based on return type?

556


What is skeleton and stub? What is the purpose of those?

550


Which class is the superclass of all classes?

611






Why java uses the concept of the string literal?

553


Why java is made?

579


Is minecraft java edition free?

592


What is a numeric string?

574


Question 5 [15] Consider the following classes, illustrating the Strategy design pattern: import java.awt.*; abstract class Text { protected TextApplet tA; protected Text(TextApplet tApplet) { tA = tApplet; } abstract public void draw(Graphics g); } class PlainText extends Text { protected PlainText(TextApplet tApplet) { super(tApplet); } public void draw(Graphics g) { g.setColor(tA.getColor()); g.setFont(new Font("Sans-serif", Font.PLAIN, 12)); g.drawString(tA.getText(), 20, 20); } } class CodeText extends Text { protected CodeText(TextApplet tApplet) { super(tApplet); } public void draw(Graphics g) { g.setColor(tA.getColor()); g.setFont(new Font("Monospaced", Font.PLAIN, 12)); g.drawString(tA.getText(), 20, 20); } } public class TextApplet extends java.applet.Applet { protected Text text; protected String textVal; protected Color color; public String getText() { return textVal; } public Color getColor() { return color; } public void init() { textVal = getParameter("text"); String textStyle = getParameter("style"); String textColor = getParameter("color"); if (textStyle == "code") text = new CodeText(this); else text = new PlainText(this); if (textColor == "red") color = Color.RED; else if (textColor == "blue") color = Color.BLUE; else color = Color.BLACK; } public void paint(Graphics g) { text.draw(g); 10 } } The Text class is more complicated than it should be (there is too much coupling between the Text and TextApplet classes). By getting rid of the reference to a TextApplet object in the Text class and setting the colour in the paint() method, one could turn the Text class into an interface and simplify the strategy classes considerably. 5.1 Rewrite the Text and PlainText classes to do what is described above. (6) 5.2 Explain the consequent changes that are necessary to the TextApplet class. (4) 5.3 Write an additional strategy class called FancyText (to go with your simplified strategy classes) to allow fancy text to be displayed for the value "fancy" provided for the style parameter. It should use the font Font ("Serif", Font.ITALIC, 12). (3) 5.4 Explain what changes are necessary to the TextApplet class for this. (2)

1835


What are inbuilt functions?

575


What is object in java?

542


What are recursive functions? Give some examples?

626


What is the collections api in java programming?

565


What is vector?

595