多线程
方法 (继承Thread 实现Runnable ) 实现Callable(JUC高并发领域)
描述:多线程无先后顺序 运行run只是普通方法,按顺序执行,start才是启动一个线程
1.继承Thread 必须创建代理对象才能启动start。
2.Runnable 是实现接口 共享同一份资源多个代理 存在并发(需要确保数据安全) 推荐使用,避免单继承的局限性
3.Callable(强大) 可以抛出异常 call方法有返回值
多线程并发 无法进行数据同步 确保数据安全解决方案
1.Sychronization 同步方法 确保每次进行调用的都是只有一个线程 (也可以直接定义方法)
2.使用ReentrantLock锁
3.线程池
线程池里面每个线程空闲的时候才会继续去执行业务,否则就要处于等待状态
网友评论