一.JVM启动流程 二.JVM基本结构 三.java并发基础 在并发编程中存在两个关键问题①线程之间如何通信 ②线程之间如何同步。 通信 通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间 ...
分类:
编程语言 时间:
2019-02-01 13:06:05
阅读次数:
240
本节目录: 1.线程队列 2.线程池 3.协程 一、线程队列 线程之间的通信我们列表行不行呢,当然行,那么队列和列表有什么区别呢? queue队列 :使用import queue,用法与进程Queue一样 queue is especially useful in threaded programm ...
分类:
编程语言 时间:
2019-01-14 21:28:50
阅读次数:
231
线程队列 线程之间的通信我们列表行不行呢,当然行,那么队列和列表有什么区别呢? queue队列 :使用import queue,用法与进程Queue一样 queue is especially useful in threaded programming when information must ...
分类:
编程语言 时间:
2019-01-14 18:54:31
阅读次数:
221
java中的io流分为两类,字符和字节:OutputStream和InputStream字节流的父类,抽象。OutputStream有两个提供了实现的接口closable和flushable。Writer和Reader字符流的父类,抽象。实际上在流的操作中,底层与文件进行读写的都是字节流,因为即使是字符流的对象,其最终实现读写的也是用的字节流。操作文件的字节子类FileOutputStream和F
分类:
编程语言 时间:
2019-01-10 11:25:48
阅读次数:
343
1.web worker 在浏览器中JavaScript主线程与UI渲染线程是互斥的。即UI渲染线程会阻塞JavaScript线程的运行。 web worker允许创建工作线程,并可以与JavaScript主线程同时运行,可以让一些占用大量计算资源的计算在worker线程上运行。 2.webSock ...
分类:
Web程序 时间:
2018-12-16 13:28:16
阅读次数:
186
wait/notify机制 实现多个线程之间的通信可以使用wait、notify、notifyAll三个方法。这三个方法都是Object类的方法。wait():导致当前线程等待,直到另一个线程调用此对象的 notify()方法或 notifyAll()方法。wait(long timeout):导致 ...
分类:
编程语言 时间:
2018-12-13 23:26:07
阅读次数:
255
CountDownLatch的概念CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。 CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。使用一个计数器进行实现。计数器初始值为线程的数量。 ...
分类:
其他好文 时间:
2018-11-14 12:41:11
阅读次数:
182
JMM (Java Memory Model) java内存模型 Java内存模型的抽象 Java线程之间的通信由Java内存模型(本文简称为JMM)控制,JMM决定一个线程对共享变量的写入何时对另一个线程可见。 从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内 ...
分类:
其他好文 时间:
2018-10-31 17:55:37
阅读次数:
177
多线程之间的通信和多进程之间通信原理是差不多的,所以在此直接上代码了,感兴趣的可以运行一下代码看看. 多进程代码块: 多线程代码块: ...
分类:
编程语言 时间:
2018-10-11 23:49:42
阅读次数:
251
基本概念 1.并发编程模型 线程之间的通信机制有两种:共享内存和消息传递。Java的并发采用的是隐式的共享内存模型。 Java内存模型(JMM)是围绕着在并发过程中如何处理原子性、可见性和有序性来建立的。 原子性:基本数据类型的访问读写是具备原子性的(针对long和double有非原子性协定),sy ...
分类:
编程语言 时间:
2018-10-04 11:45:42
阅读次数:
156