synchronized_同步
辐_射
这个作者很懒,什么都没留下…
展开
-
多线程_生产者消费者题代码2并解决线程安全问题
测试类:StudentDemopackage cn.itcast_04;/* * 分析: * 资源类:Student * 设置学生数据:SetThread(生产者) * 获取学生数据:GetThread(消费者) * 测试类:StudentDemo * * 问题1:按照思路写代码,发现数据每次都是:null----0 * 原因:我们在每个线程中都创建了新的原创 2017-03-17 21:54:06 · 333 阅读 · 0 评论 -
多线程、设计模式_总结
1:多线程(理解) (1)JDK5以后的针对线程的锁定操作和释放操作 Lock锁 (2)死锁问题的描述和代码体现 (3)生产者和消费者多线程体现(线程间通信问题) 以学生作为资源来实现的 资源类:Student 设置数据类:SetThread(生产者) 获取数据类:GetThread(消费者) 测试类:StudentDemo 代码: A:最基本的原创 2017-03-23 23:30:23 · 641 阅读 · 0 评论 -
多线程_多线程总结
1:多线程(理解) (1)多线程:一个应用程序有多条执行路径 进程:正在执行的应用程序 线程:进程的执行单元,执行路径 单线程:一个应用程序只有一条执行路径 多线程:一个应用程序有多条执行路径 多进程的意义? 提高CPU的使用率 多线程的意义? 提高应用程序的使用率 (2)Java程序的运行原理及JVM的启动是多线程的吗? A:Java命令去启动J原创 2017-03-13 00:20:42 · 470 阅读 · 0 评论 -
多线程_以前的线程安全的类回顾
package cn.itcast_12;import java.util.ArrayList;import java.util.Collections;import java.util.Hashtable;import java.util.List;import java.util.Vector;public class ThreadDemo { public static v原创 2017-03-12 23:53:15 · 535 阅读 · 0 评论 -
多线程_同步代码快的锁及同步方法应用和锁的问题
package cn.itcast_11;/* * A:同步代码块的锁对象是谁呢? * 任意对象。 * * B:同步方法的格式及锁对象问题? * 把同步关键字加在方法上。 * * 同步方法是谁? * this。 * * C:静态方法及锁对象问题? * 静态方法的锁对象是谁呢? * 类的字解码文件对象。(当前类.class) */pu原创 2017-03-12 23:37:53 · 346 阅读 · 0 评论 -
多线程_同步的特点及好处和弊端
package cn.itcast_10;/* * 举例: * 火车上厕所。 * 一节车箱里面的所有人(多线程),1号座位去上厕所(共享资源)门(synchronized)关上了,其它人进不去了。 * * 同步的特点: * 前提: * 多线程。 * 解决问题的时候要注意: * 多个线程使用的是同一个锁对象。 * 同步的好处: * 同原创 2017-03-12 23:07:17 · 2036 阅读 · 0 评论 -
多线程_同步代码块解决线程安全问题的解释
package cn.itcast_10;public class SellTicketDemo { public static void main(String[] args) { // 创建资源对象 SellTicket st = new SellTicket(); // 创建线程对象 Thread t1 = new Thread(st, "窗口1"); Threa原创 2017-03-12 22:54:56 · 374 阅读 · 0 评论 -
多线程_同步代码块的方式解决线程安全问题
package cn.itcast_09;/* * 如何解决线程安全问题呢? * * 要想解决问题,就要知道哪些原因会导致出问题:(而且这些原因也是以后我们判断一个程序是否有线程安全问题的标准) * A:是否是多线程环境 * B:是否有共享数据 * C:是否有多条语句操作共享数据 * 那这个售票程序有没有上面的问题呢? * A:是否是多线程环境 是(t1,t2原创 2017-03-12 20:37:49 · 509 阅读 · 0 评论 -
多线程_多线程常见的面试题
1:多线程有几种实现方案,分别是哪几种? 两种。 继承Thread类 实现Runnable接口 扩展一种:实现Callable接口。这个得和线程池结合。2:同步有几种方式,分别是什么? 两种。 同步代码块 同步方法3:启动一个线程是run()还是start()?它们的区别? start(); run():封装了被线程执行的代码,直接调用仅仅是普通方法的调用原创 2017-03-21 23:19:11 · 917 阅读 · 0 评论 -
多线程_生产者消费者之等待唤醒机制代码实现
测试类:StudentDemopackage cn.itcast_05;/* * 分析: * 资源类:Student * 设置学生数据:SetThread(生产者) * 获取学生数据:GetThread(消费者) * 测试类:StudentDemo * * 问题1:按照思路写代码,发现数据每次都是:null----0 * 原因:我们在每个线程中都创建了新的原创 2017-03-17 22:51:22 · 575 阅读 · 0 评论 -
多线程_生产者消费者之等待唤醒机制代码优化
测试类:StudentDemopackage cn.itcast_07;/* * 分析: * 资源类:Student * 设置学生数据:SetThread(生产者) * 获取学生数据:GetThread(消费者) * 测试类:StudentDemo * * 问题1:按照思路写代码,发现数据每次都是:null----0 * 原因:我们在每个线程中都创建了新的原创 2017-03-19 00:25:16 · 366 阅读 · 0 评论 -
多线程_线程的状态转换图及常见执行情况
原创 2017-03-17 23:14:26 · 724 阅读 · 0 评论 -
多线程_生产者消费者之等待唤醒机制代码分析
测试类:StudentDemopackage cn.itcast_05;/* * 分析: * 资源类:Student * 设置学生数据:SetThread(生产者) * 获取学生数据:GetThread(消费者) * 测试类:StudentDemo * * 问题1:按照思路写代码,发现数据每次都是:null----0 * 原因:我们在每个线程中都创建了新的原创 2017-03-17 23:03:59 · 335 阅读 · 0 评论 -
多线程_死锁问题概述和使用
package cn.itcast_02;/* * 同步的弊端: * A:效率低 * B:容易产生死锁 * * 死锁: * 两个或者两个以上的线程在争夺资源的过程中,发生的一种相互等待的现象。 * * 举例: * 中国人,美国人吃饭案便。 * 正常情况: * 中国人:筷子2支 * 美国人:刀和叉 * 现在: * 中国人:原创 2017-03-16 23:13:08 · 306 阅读 · 0 评论