Runnable接口的方式更能体现描述 数据共享的概念: 自定义类(资源类)--->实现Runnable接口 主线程:每一个Thread对象都在操作同一个资源的对象 eg.三个窗口买票: 从内存角度:三个栈内存指向同一个堆(资源类对象) Runnable接口中只有一个run方法(),解决了多线程实现方式一单继承的局限性 该方法使用到了静态代理 Thread源码本身就是实现Runnable接口 继承自Thread类:体现不出数据的共享概念 创建自定义类的同时,创建线程对象

Runnable接口的方式更能体现描述 数据共享的概念: 自定义类(资源类)--->实现Runnable接口 主线程:每一个Thread对象都在操作同一个资源的对象 eg.三个窗口买票: 从内存角度:三个栈内存指向同一个堆(资源类对象) Runnable接口中只有一个run方法(),解决了多线程实现方式一单继承的局限性 该方法使用到了静态代理 Thread源码本身就是实现Runnable接口 继承自Thread类:体现不出数据的共享概念 创建自定义类的同时,创建线程对象