前两天看极客时间Java并发课程的时候,刷到一个概念:活锁。死锁,倒是不陌生,活锁却是第一次听到。在介绍活锁之前,我们先来复习一下死锁。下面的例子模拟一个转账业务,多线程环境,为了账户金额安全,对账户进行了加锁。1publicclassAccount{2publicAccount(intbalance,Stringcard){3this.balance=balance;4this.card=car
分类:
其他好文 时间:
2020-08-06 09:23:01
阅读次数:
52
这节讲一下多线程(Thread)技术。 在讲线程之前,先区分一下程序,进程,线程三者的区别,大体上说,一个程序可以分为多个进程,一个进程至少由一个线程去执行,它们是层层包含的关系。我们写的程序,就是一个进程,多个进程,以完成一个用户服务,或者完成一个大的界面展现,就组成一个程序,但在CPU层面,只有 ...
分类:
编程语言 时间:
2020-08-05 23:24:31
阅读次数:
104
前言进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源。多线程的实现继承Thread类创建一
分类:
编程语言 时间:
2020-08-05 21:04:59
阅读次数:
104
前言 进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。 线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进 ...
分类:
编程语言 时间:
2020-08-05 14:29:03
阅读次数:
81
一、线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。 程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 线程安全问题都是由全局变量及静态变量引起的。 若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量 ...
分类:
编程语言 时间:
2020-08-05 10:31:44
阅读次数:
62
支持多应用 使用多线程支持多个请求同时访问同一个页面,下面通过建立Context类来支持多个请求同时访问多个应用 设计的思想大概是 建立一个Context类,这个类具有两个字段,一个是应用的路径映射,例如ROOT路径映射到/,等等,在bootstrap中建立一个映射用于保存path和context。 ...
分类:
其他好文 时间:
2020-08-05 00:03:48
阅读次数:
52
最近看到一个前辈留下的shell,发现竟然是shell多线程,便研究了下。也许你会有疑问,Shell这么简单的脚本语言有多线程这一说吗?答案是有的。只不过它实现起来稍微有点难理解罢了,因为它借助了命名管道实现。所谓多线程就是原本由一个进程完成的事情现在由多个线程去完成。假如一个进程需要10小时完成的事情,现在分配10个线程,给他们分工,然后同时去做这件事情,最终可能就需要1小时。文件描述符:文件描
分类:
编程语言 时间:
2020-08-04 18:23:58
阅读次数:
101
Java中的HashMap、LinkedHashMap的解决散列冲突策略都是链表法(数据规模大),但多线程中的ThreadLocalMap则是用的开放寻址法(因为规模数据小、装载因子不高)。 何为一个工业级的散列表?工业级的散列表应该具有哪些特性? 1.支持快速的查询、插入、删除操作; 2.内存占用 ...
分类:
其他好文 时间:
2020-08-04 16:49:26
阅读次数:
80
前言 前面我们为了解决go程同步的问题我们使用了channel, 但是go也提供了传统的同步工具. 它们都在go的标准库代码包 sync 和 sync/atomic 中. 下面我们来看一下锁的应用. 什么是锁呢? 就是某个协程(线程)在访问某个资源时先锁住, 防止其他协程的访问, 等访问完毕解锁后其 ...
分类:
其他好文 时间:
2020-08-04 09:46:17
阅读次数:
59
https://blog.csdn.net/weixin_40481076/article/details/101594705?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1. ...
分类:
编程语言 时间:
2020-08-03 23:30:50
阅读次数:
92