Class AbstractOSThread

java.lang.Object
oshi.software.common.AbstractOSThread
All Implemented Interfaces:
OSThread
Direct Known Subclasses:
AixOSThread, FreeBsdOSThread, LinuxOSThread, MacOSThread, SolarisOSThread, WindowsOSThread

public abstract class AbstractOSThread
extends java.lang.Object
implements OSThread
  • Constructor Details

  • Method Details

    • getOwningProcessId

      public int getOwningProcessId()
      Description copied from interface: OSThread
      The owning process of this thread. For single-threaded processes, the owning process ID may be the same as the thread's ID.
      Specified by:
      getOwningProcessId in interface OSThread
      Returns:
      The owning process of this thread.
    • getThreadCpuLoadCumulative

      public double getThreadCpuLoadCumulative()
      Description copied from interface: OSThread
      Gets cumulative CPU usage of this thread.
      Specified by:
      getThreadCpuLoadCumulative in interface OSThread
      Returns:
      The proportion of up time that the thread was executing in kernel or user mode.
    • getThreadCpuLoadBetweenTicks

      public double getThreadCpuLoadBetweenTicks​(OSThread priorSnapshot)
      Description copied from interface: OSThread
      Gets CPU usage of this thread since a previous snapshot of the same thread, provided as a parameter.
      Specified by:
      getThreadCpuLoadBetweenTicks in interface OSThread
      Parameters:
      priorSnapshot - An OSThread object containing statistics for this same thread collected at a prior point in time. May be null.
      Returns:
      If the prior snapshot is for the same thread at a prior point in time, the proportion of elapsed up time between the current thread snapshot and the previous one that the thread was executing in kernel or user mode. Returns cumulative load otherwise.
    • getName

      public java.lang.String getName()
      Description copied from interface: OSThread
      The name of the thread. Presence of a name is operating-system dependent and may include information (such as an index of running threads) that changes during execution.
      Specified by:
      getName in interface OSThread
      Returns:
      Returns the name of the task/thread.
    • getStartMemoryAddress

      public long getStartMemoryAddress()
      Description copied from interface: OSThread
      The memory address above which this thread can run.
      Specified by:
      getStartMemoryAddress in interface OSThread
      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
      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
      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
      Returns:
      major faults.
    • 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
      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.
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object