04 2018 档案
摘要:一、多线程模型一:生产者消费者模型 (1)模型图:(从网上找的图,清晰明了) (2)生产者消费者模型原理说明: 这个模型核心是围绕着一个“仓库”的概念,生产者消费者都是围绕着:“仓库”来进行操作,一个仓库同时只能被一个生产者线程或一个消费者线程所操作,synchronized锁住的也是这个仓库,仓库
阅读全文
摘要:一、本案例设计到的知识点 (1)Object的notify(),notifyAll(),wait()等方法 (2)Thread的sleep(),interrupt()。 (3)如何终止线程。 (4)如何控制多个线程之间按顺序执行。 二、一个电梯的上下运送人员的案例 引用生活中的一个情景,(先从最简单
阅读全文
摘要:一、提出疑惑 上一篇文章中,分析了synchronized关键字的用法。但是好像遗漏了一种情况。 那就是: synchronized(obj){/*同步块代码*/} 一般有以下几种情况: (1)synchronized(this){/*同步块代码*/}: synchronized锁住的是this,而
阅读全文
摘要:一、线程同步1、synchronized关键字的作用域有二种:(1)某个对象实例内:synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中一个synchronized方法,
阅读全文
摘要:一、一个简单的自定义tree插件 上一篇是之前自定义的table插件,这一篇也是之前同期尝试做的一个tree插件。 话不多说,先看看长什么样子哈! 现在来看确实不好看,以后在优化吧! 数据源:ajax请求的挡板数据 js插件源码:还不完善,以后优化 看看如何使用:
阅读全文
摘要:一、一个自定义的表格 这个js是我刚工作的时候,我们老大让我做一个功能,我觉得html自带的table功能单一,没有分页和排序功能,所有就尝试着做一下,所以这个东西就出来了。很久没写博客了,贴出来吧,避免以后丢失。 先看看做出来是什么样子吧!(侧重于功能,样式没有怎么用心调整哈) 走的是ajax请求
阅读全文
摘要:一、一个简单的js方法实现集合拷贝 做web项目的时候,少不了和js中的数组,集合等对象接触,那么你肯定会发现,在js中存在一个怪异的现象就是数组和集合的拷贝都是地址复制,并不是简单的数据的拷贝。 举个例子: 那么这个时候,集合arr1和arr2的数会发生怎么样的变化呢? 按照正常的逻辑,我们只改变
阅读全文
摘要:一、纯js格式化时间 之前记录了一些,工作中发现的比较常用的使用,就记录一下。 由于很基础,就直接贴出来了,不做分析了。 改造一下Date的原型 看看如何使用吧。 看看执行的结果吧。 还是蛮好用的吧,把这段简短的js代码放置到公共的js文件中,以后直接使用就可以啦,就不用自己去转化了哈。
阅读全文
摘要:主线程:JVM调用程序main()所产生的线程。 当前线程:这个是容易混淆的概念。一般指通过Thread.currentThread()来获取的进程。 后台线程:指为其他线程提供服务的线程,也称为守护线程。JVM的垃圾回收线程就是一个后台线程。用户线程和守护线程的区别在于,是否等待主线程依赖于主线程
阅读全文
摘要:一、sleep()和wait()的区别共同点:1.他们都是在多线程的环境下,都可以在程序的调用出阻塞指定的毫秒,然后继续往后执行(在当前线程再次拿到cpu的执行权之后)。2.wait()和sleep()都可以通过interrupt()方法打断线程的暂停状态,从而使得线程立刻抛出InterruptEx
阅读全文
摘要:一、理解wait()-notify()-notifyAll()obj.wait()与obj.notify()必须要与synchronized(Obj)一起使用,也就是wait,notify是针对已经获取了Obj锁进行操作;从语法角度上来说:Obj.wait()和Obj.notify()必须在sync
阅读全文
摘要:一、sleep()和yield()的区别 (1)sleep()使当前线程进入停滞状态(即阻塞状态),所以执行sleep()的线程在指定的时间内不会被执行; (2)yield()只是使当前线程从运行状态转到可运行状态(即就绪状态),所以执行yield()的线程有可能进入到可执行状态之后立马又被执行。
阅读全文
摘要:一、常用函数的使用 (1)Thread.sleep(long millis):在指定的毫秒内让当前正在执行的线程休眠(暂停执行),休眠时不会释放当前所持有的对象的锁。(2)join():主线程等待子线程终止后才可以终止 使用方式: join()是Thread的一个方法,启动线程后可以直接调用,即jo
阅读全文
摘要:一、线程调度(1)调整线程的优先级Java线程有优先级,优先级高的线程会获得较多的执行机会,但是只是抢占cpu使用权的机会增加了,并不意味着就一定先执行。Java线程的优先级用整数来表示,取值范围为:1~10 ,Thread有以下3个静态常量:static int MAX_PRIORITY线程可以具
阅读全文
摘要:一、线程状态转换 下面的这个图非常重要!你如果看懂了这个图,那么对于多线程的理解将会更加深刻 状态说明:(1)新建状态(New):新创建了一个线程对象。(2)就绪状态(Runnable):线程被创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行的线程池中,变得可运行,等待获取c
阅读全文
摘要:很久没记录一些技术学习过程了,这周周五的时候偶尔打开“博客园”,忽然让我产生一种重拾记录学习过程的想法,记录下学习研究过程的一点一滴,我相信,慢慢地就进步了!最近想学习一下多线程高并发,但是多线程在实际工作中操刀不多,对于多线程的理解也不够深入,很多地方都存在不确定性,这让我困惑,所以决定从头开始学
阅读全文

浙公网安备 33010602011771号