You can simply pass it aListto the constructor ProcessList, which can save the link until it is needed:
class thisApp {
Runnable proExec = new ProcessList (aList);
Thread th = new Thread(proExec);
}
public class ProcessList implements Runnable {
private final ArrayList<Character> aList;
public ProcessList(ArrayList<Character> aList) {
this.aList = aList;
}
public void run() {
}
}
NB If it aListwill be available simultaneously by multiple threads, with one or more threads modifying it, all relevant code should be synchronized.