Java Threads: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 23: Line 23:


{{Internal|Java_Memory_Concepts#Thread_Stack_Memory_Management|Thread Stack Memory Management}}
{{Internal|Java_Memory_Concepts#Thread_Stack_Memory_Management|Thread Stack Memory Management}}
==Difference between Blocked and Waiting==
{{External|http://geekexplains.blogspot.com/2008/07/threadstate-in-java-blocked-vs-waiting.html}}

Revision as of 18:24, 21 June 2017

Internal

Subjects

Concepts

Daemon Thread

Java Threads and Linux Processes

On a Linux system, each JVM thread counts as a "process", in that it is subject to system-wide and user-wide process number limitations - see "maximum number of processes allowed on a system" and "maximum number of processes available to a single user". When a JVM instance adjust its number of threads, the change is reflected by /proc/stat "processes" count.

For an example of what happens when the number of Linux processes allowed to an user is reached, see

OutOfMemoryError "unable to create new native thread"

A simple Java program that allows experimenting with threads:

https://github.com/NovaOrdis/playground/tree/master/java/threads/multiple-threads-spinning

Java Thread Stack Memory Management

Thread Stack Memory Management

Difference between Blocked and Waiting

http://geekexplains.blogspot.com/2008/07/threadstate-in-java-blocked-vs-waiting.html