摘要: 1.为什么使用synchronized和java.util.concurrent.locks.Lock? 1>线程不安全,因为线程是随机的,它可以随机访问你可见的共享变量。如果共享变量被修改,对另一个线程操作来说,它的数据就不准确 2>数据不安全,数据被共享 即共享变量、可见性和原子性 3>指令重排 阅读全文
posted @ 2019-06-25 20:17 飞鸟游鱼 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 创建线程的三种方式 1.继承java.lang.Thread start()_方法和run方法的区别: 1>.start是类Thread的一个方法 2>.run是接口Runnable的一个抽象方法,使用它需要实现 3>.start是新建一个线程,run不会新建线程,它是顺序执行的 2.实现java. 阅读全文
posted @ 2019-06-25 12:15 飞鸟游鱼 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 1:进程:这个大家经常见到。一个程序的主程序。进程是资源(比如:内存)分配的最小单位。 2.线程:是一个进程的单元,是进程的一个执行路径。 一个进程可以有一个或多个线程。 比如音乐播放器,获取歌词的执行路径是一个线程,获取音乐是一个线程。 线程是随机执行的,它和其他线程还有自己的进程抢占内存空间。 阅读全文
posted @ 2019-06-25 11:32 飞鸟游鱼 阅读(131) 评论(0) 推荐(0) 编辑