目录 1、概览 1.1、简单使用 1.2、类继承关系 2、构造方法 2.1、 1、概览 1.1、简单介绍和使用 HashMap可以保存k-v键值对,可以提供非常高效的存取效率,非线程安全类(所以在多线程并发编程中需要谨慎使用)。 1.2、类继承关系 分析: 1、HashMap实现了Cloneable ...
分类:
其他好文 时间:
2019-09-01 14:20:55
阅读次数:
71
如果需要执行更复杂的任务调度,则可使用 Python 提供的 sched 模块。该模块提供了 sched.scheduler 类,该类代表一个任务调度器。sched.scheduler(timefunc=time.monotonic, delayfunc=time.sleep) 构造器支持两个参数: ...
分类:
编程语言 时间:
2019-08-29 11:10:38
阅读次数:
103
并发编程是Java语言的重要特性之一,“如何在Java中实现线程”是学习并发编程的入门知识,也是Java工程师面试必备的基础知识。本文从线程说起,然后用代码说明如何在Java中实现线程。 ...
分类:
编程语言 时间:
2019-08-28 22:42:05
阅读次数:
139
锁的种类 Java中锁的种类大致分为偏向锁,自旋锁,轻量级锁,重量级锁。 锁的使用方式为:先提供偏向锁,如果不满足的时候,升级为轻量级锁,再不满足,升级为重量级锁。自旋锁是一个过渡的锁状态,不是一种实际的锁类型。 锁只能升级,不能降级。 偏向锁 是一种编译解释锁。如果代码中不可能出现多线程并发争抢同 ...
分类:
其他好文 时间:
2019-08-28 13:05:46
阅读次数:
100
相比new Thread,Java提供的四种线程池的好处在于: a. 重用存在的线程,减少对象创建、消亡的开销,性能佳。 b. 可有效控制最大并发线程数,提高系统资源的使用率,同时避免过多资源竞争,避免堵塞。 c. 提供定时执行、定期执行、单线程、并发数控制等功能。 为什么要用线程池:1.减少了创建 ...
分类:
编程语言 时间:
2019-08-28 00:41:19
阅读次数:
105
ThreadLocal,即线程局部变量,它被设计用来解决变量共享的线程安全问题。线程安全问题发生的根本原因在于 多个线程会对同一个临界区资源进行操作 。Synchonized和ThreadLocal是两种不同的解决多线程并发访问的方式。Synchonized使用了锁机制,使得同一时间只有一个线程能访 ...
分类:
其他好文 时间:
2019-08-27 23:33:13
阅读次数:
196
HashMap和HashTable有何不同? 线程安全: HashTable 中的方法是同步的,而HashMap中的方法在默认情况下是非同步的。在多线程并发的环境下,可以直接使用HashTable,但是要使用HashMap的话就要自己增加同步处理了。 继承关系: HashTable是基于陈旧的Dic ...
分类:
其他好文 时间:
2019-08-25 20:18:08
阅读次数:
120
1、Java内存模型(Java Memory Model,JMM):线程、主内存和工作内存。所有的变量都存储在主内存(虚拟机内存的一部分)中,每条线程还有自己的工作内存。线程对变量的所有操作(读取、赋值等)必须在工作内存中进行,不同线程之间无法直接访问对方工作内存中的变量,需要通过主内存来完成。 2 ...
分类:
编程语言 时间:
2019-08-24 18:44:20
阅读次数:
115