Class LinuxOSThread

java.lang.Object
oshi.software.common.AbstractOSThread
oshi.software.os.linux.LinuxOSThread
All Implemented Interfaces:
OSThread

public class LinuxOSThread
extends AbstractOSThread
  • Constructor Details

    • LinuxOSThread

      public LinuxOSThread​(int processId, int tid)
  • Method Details

    • getThreadId

      public int getThreadId()
      Description copied from interface: OSThread
      The thread id. The meaning of this value is OS-dependent.
      Returns:
      Returns the id of the thread.
    • getState

      public OSProcess.State getState()
      Description copied from interface: OSThread

      Getter for the field state.

      Returns:
      Returns the execution state of the task/thread.
    • getStartTime

      public long getStartTime()
      Description copied from interface: OSThread
      The start time of the thread.
      Returns:
      Returns the start time of the task/thread in number of milliseconds since January 1, 1970.
    • getStartMemoryAddress

      public long getStartMemoryAddress()
      Description copied from interface: OSThread
      The memory address above which this thread can run.
      Specified by:
      getStartMemoryAddress in interface OSThread
      Overrides:
      getStartMemoryAddress in class AbstractOSThread
      Returns:
      The start address.
    • getContextSwitches

      public long getContextSwitches()
      Description copied from interface: OSThread
      A snapshot of the context switches the thread has done. Since the context switches could be voluntary and non-voluntary, this gives the sum of both.
      Specified by:
      getContextSwitches in interface OSThread
      Overrides:
      getContextSwitches in class AbstractOSThread
      Returns:
      sum of both voluntary and involuntary context switches.
    • getMinorFaults

      public long getMinorFaults()
      Description copied from interface: OSThread
      The number of minor (soft) faults the thread has made which have not required loading a memory page from disk. Sometimes called reclaims. Linux only.
      Specified by:
      getMinorFaults in interface OSThread
      Overrides:
      getMinorFaults in class AbstractOSThread
      Returns:
      minor faults.
    • getMajorFaults

      public long getMajorFaults()
      Description copied from interface: OSThread
      The number of major (hard) faults the thread has made which have required loading a memory page from disk. Linux only.
      Specified by:
      getMajorFaults in interface OSThread
      Overrides:
      getMajorFaults in class AbstractOSThread
      Returns:
      major faults.
    • getKernelTime

      public long getKernelTime()
      Description copied from interface: OSThread
      Kernel (privileged) time used by the thread.
      Returns:
      Returns the number of milliseconds the task/thread has executed in kernel/system mode.
    • getUserTime

      public long getUserTime()
      Description copied from interface: OSThread
      User time used by the thread.
      Returns:
      Returns the number of milliseconds the task/thread has executed in user mode.
    • getUpTime

      public long getUpTime()
      Description copied from interface: OSThread
      Elapsed/up-time of the thread.
      Returns:
      Returns the number of milliseconds since the task/thread started.
    • getPriority

      public int getPriority()
      Description copied from interface: OSThread
      Priority of the thread, the meaning of which is dependent on the OS.
      Returns:
      priority.
    • updateAttributes

      public boolean updateAttributes()
      Description copied from interface: OSThread
      Attempts to updates process attributes. Returns false if the update fails, which will occur if the process no longer exists. Not implemented for macOS, as thread ID is simply an index and not unique.
      Specified by:
      updateAttributes in interface OSThread
      Overrides:
      updateAttributes in class AbstractOSThread
      Returns:
      true if the update was successful, false if the update failed. In addition, on a failed update the thread state will be changed to OSProcess.State.INVALID.