"implements Runnable" vs "extends Thread" in Java "implements Runnable" vs "extends Thread" in Java multithreading multithreading