上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 35 下一页
摘要: 一. 日后开发的时候,看到这样一种现象:看到了数据的错误是线程安全问题引发的,紧跟着就采取了同步措施,没想到安全问题依然存在。 这种情况很痛苦,因为这时已经没有解决方案了。 看到问题,以为同步就能解决问题,没想到解决不了。(是否说安全问题,正确地使用同步都可以解决?) 这种问题是怎么造成的呢?这里必 阅读全文
posted @ 2017-12-13 15:01 前锋营 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 一. 同步的原因 synchronized的代码块的封装作用,我们已经认识到了。但是它到底是怎么起到作用,现在来讨论一下。 这里面有一个对象,我们先简单地将它理解为标志位。这标志位怎么用的呢? 现在假想标志位有0和1,如果先来的默认值是1。这时,来了四个不同编号的线程,0~3。 0线程进来后,syn 阅读全文
posted @ 2017-12-13 14:38 前锋营 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 一. 怎么解决程序的安全性问题。 就相当于不给其他线程机会,自己独占。 对于多条语句的封装通常用什么封装?花括号,也就是代码块。 我们现在需要这个代码块具备一定的功能,多个线程只能每次有一个线程进来操作。这个我们也可以用一个关键字来标识。 synchronized是同步的意思, 写同步代码块的时候, 阅读全文
posted @ 2017-12-13 11:02 前锋营 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 一. 对原因进行分析一下,为什么之前没事,现在就有事。 在栈的里面,我们就不画主线程了,有四条线程路径,有自己的run方法。而这run方法如果里面写for循环,写上x的话,每个线程都有一份。 冲突吧?不冲突,都使用自己的,而当我们去卖票的时候,在运行堆里面的这个num,这个num就是多个线程所共享的 阅读全文
posted @ 2017-12-13 10:34 前锋营 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 一. 引言 接着看,把售票的问题给说完,这里涉及到一个小问题。 在我们进行线程任务封装,并进行线程对象创建的时候,我们发现确实通过四个线程能够将一百张票卖完。但是卖票的时候,会不会出现一些小问题呢?分析整个程序给大家展示一下。 现在有四个线程,都到了run方法中来运行。大家都知道,每个线程所属的栈区 阅读全文
posted @ 2017-12-13 10:04 前锋营 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 一. 需求:简单卖票程序。 怎么卖:多个窗口卖票。 一号窗口在卖票的时候,二号窗口,三号窗口也在卖票,这是同时在操作。也就是多线程。 Ticket类中的卖票代码必须要被多个线程所执行。 需求是卖票,那么名词就是票,对票进行类的描述,怎么卖票自己知道。因此,Ticket类里面必须要定义卖的方法。 由于 阅读全文
posted @ 2017-12-13 08:51 前锋营 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 一. 讲述一个小例子,展现一下多线程技术。 任何一个例子都有需求: 资源是同一个,通过四个窗口往外发,是并发。四个窗口用的是同一个动作,都是卖票,但是这个动作是同时进行。 先不写思路,先简单描述一下, 上面截图中的程序有一个问题,在其编译运行之后,四个线程都卖出了100张票。本来只有100张票,现在 阅读全文
posted @ 2017-12-12 15:01 前锋营 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 一. 这里即将介绍toString方法。我感觉这部分介绍的好几种方法均是属于object类中的方法。由于固有的继承关系,导致所有的子类都具备这样的类从而必须要阐述这些方法。 在java中,所有的对象都能变成字符串,因为字符串这种类型,是我们生活中最常见的类型。 上面的程序中,DOS的结果显示为Per 阅读全文
posted @ 2017-12-12 09:25 前锋营 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 一. 只看名字,是获取类的意思。 什么叫运行时类? 现在进行一个前期的铺垫介绍,在创建对象前先要有class文件,这是个字节码文件。 先要加载class文件,后面才能接着运算。现在举了一个例子,如下 Demo类和Class类,对它们的共性进行抽取。类文件都有一个共性特点就是,它里面都是源文件中所描述 阅读全文
posted @ 2017-12-12 09:21 前锋营 阅读(5558) 评论(0) 推荐(0) 编辑
摘要: 一. 除了equals方法外,还有其他的方法可以用。 上图要记住,equals方法不覆盖,也会有,建立对象特有的比较相同的形式,这很重要(语音不清楚,可能写的是错误的)。 我们以前做过这样一件事儿,直接打印对象, 编译的结果是person@61de33,这就是哈希值。这个哈希值是通过哈希算法算出来的 阅读全文
posted @ 2017-12-12 09:13 前锋营 阅读(5059) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 35 下一页