# Class RemoteThreadsListenerImpl

java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
org.apache.jmeter.threads.RemoteThreadsListenerImpl

All Implemented Interfaces:
  `Serializable, Remote, ThreadListener, RemoteThreadsListener`

public class RemoteThreadsListenerImpl extends UnicastRemoteObject implements RemoteThreadsListener, ThreadListener
RMI Implementation, client side code (ie executed on Controller)

Since:
  2.10
See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class RemoteObject

`ref`

## Constructor Summary

Constructors
Constructor
Description
`RemoteThreadsListenerImpl()`

## Method Summary

Modifier and Type
Method
Description
`void`
`threadFinished()`
Called for each thread after all samples have been processed.
`void`
`threadStarted()`
Called for each thread before starting sampling.

### Methods inherited from class UnicastRemoteObject

`clone, exportObject, exportObject, exportObject, exportObject, exportObject, unexportObject`

### Methods inherited from class RemoteServer

`getClientHost, getLog, setLog`

### Methods inherited from class RemoteObject

`equals, getRef, hashCode, toString, toStub`

### Methods inherited from class Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### RemoteThreadsListenerImpl

public RemoteThreadsListenerImpl() throws RemoteException

Throws:
  `RemoteException` - if failed to export object

## Method Details

### threadStarted

public void threadStarted()
Description copied from interface: `ThreadListener`
Called for each thread before starting sampling. WARNING: this is called before any Config test elements are processed, so any properties they define will not have been merged in yet.

Specified by:
  `threadStarted` in interface `RemoteThreadsListener`
Specified by:
  `threadStarted` in interface `ThreadListener`
See Also:
  - `RemoteThreadsListener.threadStarted()`

### threadFinished

public void threadFinished()
Description copied from interface: `ThreadListener`
Called for each thread after all samples have been processed.

Specified by:
  `threadFinished` in interface `RemoteThreadsListener`
Specified by:
  `threadFinished` in interface `ThreadListener`
See Also:
  - `ThreadListener.threadFinished()`