Java Swing Components Are Not Thread-Safe in Java
Java Swing Components Are Not Thread-Safe in Java
One of the main reason for Java Swing is not thread-safe is to simplify the task of
extending its components.
Another reason for the Java Swing is not thread-safe due to the overhead involved
in obtaining and releasing locks and restoring the state.
Some of the Java Swing component methods will support multi-threaded access
like repaint(), revalidate(), and invalidate() methods of JComponent class.
4)Why Swing components are called lightweight components?
Ans : It is a lightweight component because it will not depend on any native system
class.
5)What is the difference between invokeAndWait and invokeLater?
Ans : Main difference between invokeAndWait() and invokeLater() is invokeAndWait()
keeps the code on to event thread and waits till the execution of run method is completed
whereas invokeLater() keeps the code on event thread and runs the rest of code in
the thread.2)Does Swing is thread-safe?
Ans : No, Java Swing components are not thread-safe in Java.
One of the main reason for Java Swing is not thread-safe is to simplify the task of
extending its components.
Another reason for the Java Swing is not thread-safe due to the overhead involved
in obtaining and releasing locks and restoring the state.
Some of the Java Swing component methods will support multi-threaded access
like repaint(), revalidate(), and invalidate() methods of JComponent class.
4)Why Swing components are called lightweight components?
Ans : It is a lightweight component because it will not depend on any native system
class.
5)What is the difference between invokeAndWait and invokeLater?
Ans : Main difference between invokeAndWait() and invokeLater() is invokeAndWait()
keeps the code on to event thread and waits till the execution of run method is completed
whereas invokeLater() keeps the code on event thread and runs the rest of code in
the thread.
Regarding the case where an applet is loaded from the client’s local disk, the applet is
loaded by the file system loader. Applets loaded via the file system are allowed to
read files, write files and to load libraries on the client. Also, applets loaded via the file
system are allowed to execute processes and finally, applets loaded via the file system
are not passed through the byte code verifier.
When an applet is loaded over the internet, the applet is loaded by the applet
classloader. The class loader enforces the Java name space hierarchy. Also, the class
loader guarantees that a unique namespace exists for classes that come from the
local file system, and that a unique namespace exists for each network source. When
a browser loads an applet over the net, that applet’s classes are placed in a private
namespace associated with the applet’s origin.
9) What is the applet security manager, and what does it provide ?
One of the main reason for Java Swing is not thread-safe is to simplify the task of
extending its components.
Another reason for the Java Swing is not thread-safe due to the overhead involved
in obtaining and releasing locks and restoring the state.
Some of the Java Swing component methods will support multi-threaded access
like repaint(), revalidate(), and invalidate() methods of JComponent class.
4)Why Swing components are called lightweight components?
Ans : It is a lightweight component because it will not depend on any native system
class.
5)What is the difference between invokeAndWait and invokeLater?
Ans : Main difference between invokeAndWait() and invokeLater() is invokeAndWait()
keeps the code on to event thread and waits till the execution of run method is completed
whereas invokeLater() keeps the code on event thread and runs the rest of code in
the thread.