1.几个基本的概念 进程(Process): 一个程序运行起来时在内存中开辟一段空间用来运行程序,这段空间包括heap、stack、data segment和code segment。例如,开一个QQ就表明开了一个QQ进程。 线程(Thread): 每个进程中都至少有一个线程。线程是指程序中代码运行 ...
分类:
编程语言 时间:
2018-11-09 00:52:42
阅读次数:
198
java并发编程降低延迟 在平时开发的过程中,其实有很多可以采用多线程优化的地方,像ExecutorService、CompletionService、CompletableFuture和并行流等类,只是没有去注意,这里总结下日常工作中常用的一些方法。 [TOC] 一、ExecutorService ...
分类:
编程语言 时间:
2018-11-09 00:46:05
阅读次数:
311
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,如图: 1.程序计数器 可以看作是当前线程所执行的字节码的行号指示器,通俗的讲就是用来指示执行哪条指令的。为了线程切换后能恢复到正确的执行位置 Java多线程是通过线程轮流切换并分配处理器执行的,为了能够使得每个线 ...
分类:
编程语言 时间:
2018-11-08 00:13:32
阅读次数:
220
Java多线程开发中最重要的一点就是线程安全的实现了。所谓Java线程安全,可以简单理解为当多个线程访问同一个共享资源时产生的数据不一致问题。为此,Java提供了一系列方法来解决线程安全问题。 synchronized synchronized用于同步多线程对共享资源的访问,在实现中分为同步代码块和 ...
分类:
编程语言 时间:
2018-11-07 14:04:26
阅读次数:
228
这一系列的文章暂不涉及Java多线程开发中的底层原理以及JMM、JVM部分的解析(将另文总结),主要关注实际编码中Java并发编程的核心知识点和应知应会部分。 说在前面,Java并发编程的实质,是线程对象调用start方法启动多线程,而线程对象则必须是Thread类或其子类实现。Runnable和C ...
分类:
编程语言 时间:
2018-11-06 13:38:07
阅读次数:
270
多线程的实现方式:demo1、demo2 demo1:继承Thread类,重写run()方法 demo2:实现runnable接口,实现run()方法 demo3:两种方法解决进程赛跑问题 ...
分类:
编程语言 时间:
2018-11-05 22:50:19
阅读次数:
269
1.加锁方式: 1-1.使用synchronized关键字进行方法或代码块的加锁方式 1-2.使用ReentrantLock类提供的lock()方法的方式 2.代码实现(传统的银行取款存款问题): 2-1.Account.java类:账户类 package com.java.thread; impo ...
分类:
编程语言 时间:
2018-11-05 16:26:24
阅读次数:
268
***********************第14章 多线程 ********************************** 一.why 想让 两段代码 同时执行 的时候使用多线程 public static void main(String[] args){ //游戏开始 //游戏主体 / ...
分类:
编程语言 时间:
2018-11-05 01:16:36
阅读次数:
196
**************************线程打断********************************* 线程运行的时候,有4种中断线程执行的方式 1. interrupt() t1.interrupt();//中断线程的执行 泼凉水式的打断 2. stop(); 一棒子打死 ...
分类:
编程语言 时间:
2018-11-05 01:16:06
阅读次数:
189
转自:https://www.cnblogs.com/skywang12345/p/3514604.html(含部分修改) 概要 AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray这3个数组类型的原子类的原理和用法相似。本章以Atomi ...
分类:
编程语言 时间:
2018-11-04 21:10:07
阅读次数:
178