多线程
MINKI_W
莽呀
展开
-
JavaSE多线程《一》
一· 首先了解一下什么是进程?线程?进程:操作系统中一个程序的执行周期称为一个进程。线程:一个程序同时执行多个任务。通常,每一个任务就称为一个线程。与进程相比较,线程更"轻量级",创建、撤销一个线程比启动一个新进程开销要小的多。没有进程就没有线程,进程一旦终止,其内的线程也将不复存在。线程和进程的区别是什么?多进程与多线程区别:本质区别在于,每个进程拥有自己的一整套变量,而线程则共享数据。...原创 2019-07-14 23:14:39 · 150 阅读 · 0 评论 -
JavaSE多线程《二》
JavaSE多线程《一》回顾三·多线程的常用操作方法3.1 线程的命名于取得命名多线程的运行状态是不确定的,所以对于多线程操作必须有一个明确标识出线程对象的信息,这个信息往往通过名称来描述。在Thread类中提供有如下的线程名称方法:要想取得线程的对象,在Thread类中提供有一个方法取得当前线程对象:/*** Returns a reference to the currently...原创 2019-07-15 23:54:13 · 183 阅读 · 0 评论 -
JavaSE多线程《三》
往期回顾:JavaSE多线程《一》JavaSE多线程《二》3.5 线程停止多线程中有三种方式可以停止线程。设置标记位,可以使线程正常退出。使用stop方法强制使线程退出,但是该方法不太安全所以已经被废弃了。使用Thread类中的一个 interrupt() 可以中断线程。首先示例,利用设置标记为flag 使线程停止:代码如下:package com.revisi...原创 2019-07-20 16:51:57 · 184 阅读 · 0 评论 -
JavaSE多线程《四》(汇总)
1.进程和线程:进程是系统资源分配的基本单位线程是任务分配的基本单位2.Java中实现多线程的四种方式:a.继承 Thread 类b.实现 Runnable接口c.实现Callable接口d.线程池 (推荐)3.线程停止的三种方法:a.stop()方法b.设置标记类c.interrupt()方法 (synchronized不响应中断)4.多线程的常用操作方式:a. sl...原创 2019-07-31 00:10:08 · 135 阅读 · 0 评论 -
JAVA多线程的一个常见面试题
synchronized和ReentrantLock的关系与区别1.都属于独占锁(任意一个时刻只有一个线程获取到资源)都支持可重入锁2.synchronized是关键字,JVM层面实现的ReentrantLock是Java语言层面实现的"管理";3.ReentrantLock具备一些synchronized不具备的功能响应中断、非阻塞式获取锁、支持超时获取锁公平锁:等待时间最长的线程...原创 2019-07-31 00:12:39 · 124 阅读 · 0 评论 -
谈谈ConcurrentHashMap是如何实现高效且线程安全的
什么是哈希表???哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键。我们先来了解一下ConcurrentHashM...原创 2019-07-26 00:35:10 · 745 阅读 · 0 评论 -
什么是可重入锁?什么是不可重入锁?
啥也不说了先来看一段代码:public class Lock{ private boolean isLocked = false; public synchronized void lock() throws InterruptedException{ while(isLocked){ wait(); ...原创 2019-08-02 00:06:29 · 738 阅读 · 1 评论