I just tried in a simple way, its working. Hope code is explanatory.
You have a redundant line in your code:
There is no point in this line as you are setting the name of the runnable1 object to the value returned by runnable1.getName() which is the name of the runnable1 object.
Also it doesn't solve the OP's issue which was to set the MyThreadRunnable object to the same name as the thread. See my earlier post for a solution.