上午
7:30-8:00学习打卡
9:00-12:00写项目,改错误
在客户端改了一个小东西,服务端没有及时改,导致好友列表消失,花了一点时间找错误
下午
2:00-5:30学习多线程,写项目
线程的生命周期
分为新建、就绪、运行、阻塞、死亡
新建:当程序使用new关键字创建一个线程后,该线程就处于新建状态
就绪:当程序对象调用了start()方法之后,该程序处于就绪状态
运行:处于就绪状态的线程获得了cpu,就开始执行run()方法的线程执行体
阻塞:线程调用sleep()方法主动放弃所占的处理器资源、线程调用另一个阻塞时IO方法,在该方法返回之前,该线程被阻塞、线程试图获得一个同步监视器,但该同步监视器正被其他线程所持有、线程在等待某个通知、程序调用了线程的suspend()方法将该线程挂起
死亡:自动正常停止、外部干涉,一般不推荐使用stop()方法
实现Runnable接口创建线程类
定义Runnable接口的实现类,并重写该接口的run()方法,该run()方法的方法体就代表了线程需要完成的任务
创建Runnable实现类的实例,并以此实例作为Thread的target(形参)来创建Thread对象,该Thread对象才是真正的线程对象
用到了设计模式——静态代理
晚上
7:00-8:30写项目,实现聊天