随笔分类 - 并发编程学习笔记
摘要:线程的实现原理 0、 概述 操作系统引入线程之后,进程就变成了分配资源的基本单位,线程是独立调度的基本单位。 引入线程的意义: 未引入线程之前,进程是分配资源和独立调度的基本单位,因而在创建、撤销、切换中,系统必须为之付出较大的时空开销。正因如此,在系统中所设置的进程,其数目不宜过多,进程切换的频率
阅读全文
摘要:1、java.lang.StackOverflowError 报这个错误一般是由于方法深层次的调用,默认的线程栈空间大小一般与具体的硬件平台有关。栈内存为线程私有的空间,每个线程都会创建私有的栈内存。栈空间内存设置过大,创建线程数量较多时会出现栈内存溢出StackOverflowError。同时,栈
阅读全文
摘要:线程池中的工作线程是如何实现线程复用的? 一个线程一般在执行完任务后就结束了,怎么再让他执行下一个任务呢? 当我们往线程池添加任务的时候使用 ThreadPollExcutor 对象的 execute(Runnable command) 方法来完成的。那我们就来看一下这个逻辑部分的代码: 分析到这里
阅读全文
摘要:1、线程池简介 1.1 线程池的概念: 线程池就是首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下
阅读全文
摘要:本文转载自17coding ,于2019年05月22日由 " 苏静 " 发布. 一、Thread与Runable 1、创建线程的两种方法 在java中你怎么创建线程?相信你很快能够想到继承Thread类和实现Runable接口这两种方式。没错,java提供了这两种方式来创建新的线程。网上也有各种文章
阅读全文
摘要:本文转载自17coding ,于2019年05月31日由 " 苏静 " 发布. 上周对象突然心血来潮说想养个小宠物,我问想养啥她又说随便,你看着办!!!这我真的比较难办啊!但是咱们程序员能有个对象就不错了,还不赶紧宠着,我只能照办咯! 我去到了一家宠物店,半天也没有找到合适的目标。正在我犹豫彷徨之时
阅读全文
摘要:1、并发编程模型的分类 在并发编程中,我们需要处理两个关键的问题: 1、线程间如何通信,2、线程间如何同步 。通信是指线程之间以何种机制来交换信息,同步是指程序用于不同线程之间操作发生相对顺序的机制。 在命令式编程中,线程之间的通信机制有两种: 共享内存和消息传递 。在共享内存的并发模型中,线程之间
阅读全文

浙公网安备 33010602011771号