黑马程序员技术交流社区

标题: 【上海校区】java多线程学习笔记 [打印本页]

作者: 不二晨    时间: 2018-8-13 10:01
标题: 【上海校区】java多线程学习笔记

累计时间 2小时



优先级改变的仅仅是概率 ,并不是优先全部执行完毕。

创建多线程的方法一:继承Thread类

三个线程的火车票抢票程序。存在线程的安全问题


static 为了能够让  三个线程共用。

创建多线程的方法二:通过实现的方式
/* * 创建多线程的方式二:通过实现的方式 *  * 对比一下继承的方式 vs 实现的方式 * 1.联系:public class Thread implements Runnable * 2.哪个方式好?实现的方式优于继承的方式 *    why?  1 避免了java单继承的局限性 *          2 如果多个线程要操作同一份资源(或数据),更适合使用实现的方式 */

1 避免局限性:  比如一个学生类实现Runnable接口,多个学生的话代码冗余,而且如果学生继承了人的话,无法再去继承

2

与上面的一个程序相比,多个线程共用一个对象,即共享对象。


下面代码中   Thread 的构造器要求传入一个Runnable对象

实际传的是PrintNum1,  是多态的一种体现。

底层原理:

调用  thread类里面的 run方法 执行当前对象的run方法


在构造器传入的时候给target 赋值,所以调用的run方法是传入的对象的run方法


【转载】https://blog.csdn.net/qq_41517071/article/details/81608368



作者: 小影姐姐    时间: 2018-8-13 10:30

作者: 不二晨    时间: 2018-8-16 16:54
奈斯




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2