Thread java executando varias vezes o mesmo parametro com um unica thread iniciada

Pessoal estou com um problema, no qual crio a thread passando parametros e de primeiro tudo bem Funciona,
Mas quando o parametro que é volatile muda seu valor ele ainda continua com o valor da criação da instancia.
Tem alguma forma de passar parametros varias vezes com valores diferentes para mesma thread.

exemplo:
class SuaClasse extends Thread {
private String param1;
private volatile boolean status = false;
public SuaClasse(String param1,boolean status.){
this.param1 = param1;
this.status = status;
}
@Override
public void run(){
while(status){
System.out.println(“Rodando”);
}
}


client
volatile boolean status = false;
status = true;
SuaClasse classe = new SuaClasse(10,status);
classe.start();
como fazer

class SuaClasse extends Thread {

	private String param1;
	private boolean status;

	public SuaClasse(String param1,boolean status.){
		this.param1 = param1;
		this.status = status;
	}

	public void alterarStatus(boolean novoStatus) {
		status = novoStatus;
	}
	
	@Override
	public void run(){
		while (status) {
			System.out.println("Rodando (param1 = " + param1 + ", status = " + status + ")");
			Thread.yield();
		}
	}
}

Client

SuaClasse minhaThread = new SuaClasse("10", true);
minhaThread.start();
Thread.sleep(1000);
minhaThread.alterarStatus( false );
Thread.sleep(1000);
minhaThread.alterarStatus( true );

Este Trecho do codigo é utilizado em uma função. Quando altero a variável da classe boolean status não funciona.
Mas valeu

     public void pararProcesso( String message){
       SuaClasse minhaThread = new SuaClasse(message, status);
        minhaThread.start();
       minhaThread.alterarStatus( status );
    }