本文目录 线程与多线程 线程的运行与创建 线程的状态 线程与多线程 线程的运行与创建 线程的状态 1 线程与多线程 线程是什么? 线程(Thread)是一个对象(Object)。用来干什么?Java 线程(也称 JVM 线程)是 Java 进程内允许多个同时进行的任务。该进程内并发的任务成为线程(T ...
分类:
编程语言 时间:
2018-03-08 00:07:51
阅读次数:
123
在java的concurrent.Executors主要提供两种线程池:无固定线程数但有限制任务队列的cachedThreadPool与有固定线程数但无任务队列限制的fixedThreadPool,这两种线程池是在小任务里面使用是正常的,但是一旦任务增大或者代码逻辑有问题,很容易导致OOM。因此《阿 ...
分类:
编程语言 时间:
2018-03-04 19:04:46
阅读次数:
153
线程池几个參数的理解: 比方去火车站买票, 有10个售票窗体, 但仅仅有5个窗体对外开放. 那么对外开放的5个窗体称为核心线程数, 而最大线程数是10个窗体.假设5个窗体都被占用, 那么后来的人就必须在后面排队, 但后来售票厅人越来越多, 已经人满为患, 就相似于线程队列已满.这时候火车站站长下令, ...
分类:
编程语言 时间:
2018-03-04 14:32:41
阅读次数:
173
整理了一下前端时间学习Java并发的笔记,大约有40篇。 1. Java并发基础知识 "并发基础(一) 线程介绍" "并发基础(二) Thread类的API总结" "并发基础(三) java线程优先级" "并发基础(四) java中线程的状态" "并发基础(五) 创建线程的四种方式" "并发基础(六 ...
分类:
编程语言 时间:
2018-03-03 23:32:55
阅读次数:
387
synchronized 作用于对象实例:对给定对象加锁,进入同步代码前要获得给定对象的锁。 作用于实例方法:相当于对当前实例加锁,进入同步代码前要获得当前实例的锁。 作用于静态方法:相当于对当前类加锁,进入同步代码前要获得当前类的锁。 使用 给实例对象加锁 java public class Ac ...
分类:
编程语言 时间:
2018-03-03 15:35:32
阅读次数:
159
java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说: 写道 给线程安全下定义比较困难。存在很多种定义,如:“一个类在可以被多个线程安全调用时就是线程安全的”。 静态变量:线程非安全。 静态变量即类变量,位于方法区,为 ...
分类:
编程语言 时间:
2018-03-02 18:45:02
阅读次数:
291
一个线程如何知道另一线程已经结束?Thread类提供了回答此问题的方法。 有两种方法可以判定一个线程是否结束。第一,可以在线程中调用isAlive()。这种方法由Thread定义,它的通常形式如下: ? 1 final boolean isAlive( ) ? 1 final boolean isA ...
分类:
编程语言 时间:
2018-03-01 17:16:44
阅读次数:
166
文章转载自 "详细分析Java中断机制" 1. 引言 当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。 如果对Jav ...
分类:
编程语言 时间:
2018-03-01 00:42:13
阅读次数:
248
1、简单了解一下:为何不赞成使用 Thread.stop、Thread.suspend 和 Thread.resume? suspend 、resume、stop方法分别完成了线程的暂停、恢复、终止的工作。不建议使用原因:是因为这三个方法带来的副作用,如suspend( )方 ...
分类:
编程语言 时间:
2018-03-01 00:38:13
阅读次数:
234
线程通信 一、线程间通信的条件 1、两个以上的线程访问同一块内存 2、线程同步,关键字 synchronized 二、线程间通信主要涉及的方法 wait(); > 用于阻塞进程 notify(); > 用于唤醒进程 notifyAll(); > 用于唤醒所有进程 三、线程通信的图解 四、线程通信的实 ...
分类:
编程语言 时间:
2018-02-27 19:31:56
阅读次数:
167