BlockingQueue的继承结构 BlockingQueue是线程安全的阻塞队列,当队列为空时,拉取队列的线程会等待队列中重新有元素;当队列满时,添加元素的线程会等待队列有空位储存新元素。BlockingQueue的继承接口如下: 生产者-消费者模式 ArrayBlokingQueue实现类需要 ...
分类:
编程语言 时间:
2020-01-20 18:50:01
阅读次数:
106
线程安全 假如Java程序中有多个线程在同时运行,而这些线程可能会同时运行一部分的代码。如果说该Java程序每次运行的结果和单线程的运行结果是一样的,并且其他的变量值也都是和预期的结果是一样的,那么就可以说线程是安全的。 解析什么是线程安全:卖电影票案例 假如有一个电影院上映《葫芦娃大战奥特曼》,售 ...
分类:
编程语言 时间:
2020-01-19 09:36:45
阅读次数:
101
并发与并行 并发:指两个或多个事件在同一时间段内发生。 并行:指两个或多个事件在同一时刻发生(同时发生)。 进程与线程 进程: 是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一 ...
分类:
编程语言 时间:
2020-01-19 09:15:32
阅读次数:
91
1.cpu个数、核数、线程数、Java多线程关系的理解 URL地址:https://blog.csdn.net/helloworld0906/article/details/905471592.物理cpu数和cpu核数和逻辑cpu数和vcpu区别 URL地址:https://blog.csdn.ne ...
分类:
编程语言 时间:
2020-01-17 10:11:49
阅读次数:
179
线程通信的例子:使用两个线程打印 1-100,线程1、线程2交替打印。涉及到的三个方法:wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个。notifyAll():一旦 ...
分类:
编程语言 时间:
2020-01-17 00:02:45
阅读次数:
86
一、多线程出现的安全问题: 1、问题的原因: 多个线程执行的不确定性引起执行结果的不稳定。当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行,导致共享数据的错误。2、解决的办法: 对多条操作共享数据的语句,只能让一个线程都执行完,在执行过程中 ...
分类:
编程语言 时间:
2020-01-16 23:47:23
阅读次数:
71
一、程序、进程与线程的理解: 1、程序(program): 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 2、进程(process): 是程序的一次执行过程, 或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程,即生命周期。(1)例如:运行 ...
分类:
编程语言 时间:
2020-01-16 22:06:38
阅读次数:
87
一、Java线程的调度方法: 1、同优先级线程组成先进先出队列(先到先服务),使用时间片策略。2、对高优先级,使用优先调度的抢占式策略。 二、Java线程的优先级: 1、线程的优先级等级MAX_ PRIORITY: 10、 MIN_ PRIORITY: 1、 NORM PRIORITY: 52、涉及 ...
分类:
编程语言 时间:
2020-01-16 21:43:11
阅读次数:
124
从网上看到的线程的六种状态图,很清晰地展示了各个状态之间的切换以及可能的方法。 ...
分类:
编程语言 时间:
2020-01-14 20:19:19
阅读次数:
63
多线程学习 什么是线程 Java多线程的使用 什么是线程 这里先引用一下百度给出的概念 线程是系统能够进行运算调度的最小单位。他被包含在进程只中,是进程中的实际运作单位。 这里只摘取简单的引用,便于通俗的理解,毕竟百度百科上面的东西太过于专业化,专业名词太多。 上面有一个名词 ,这里解释一下进程 一 ...
分类:
编程语言 时间:
2020-01-14 12:49:16
阅读次数:
70