美文网首页
关于线程使用的一些体会

关于线程使用的一些体会

作者: 紫苏湛然 | 来源:发表于2019-11-27 18:12 被阅读0次

线程池机制

不同的任务可以统一提交给线程池(ThreadPoolExecutor)托管,Executor负责系统资源的统一分配与管理,会维护一个允许同时运行的最大线程数。任务数若没有超过最大线程数,一旦加入线程池便会被创建执行;任务数超过最大线程数,则将会被放入阻塞队列中。当某一任务处于空闲态超过一定的时间周期时,线程池会挂起该线程。在操作系统层面,会将线程池中的线程分配给处理器执行。

何时应当创建新的线程

1、当两个操作可以基本并行,不存在前后依赖时(最常见);

2、轮询

需要不停地查看某一进程的的状态变量,观察是否出现变化,并据此做出不同响应。(也可选用观察者模式来实现)

3、两个操作分属串行的不同阶段,各操作均可分为细小的步骤重复进行。

例如:“接收信息并存入队列”与“读取数据并写入数据库”操作。虽然二者都涉及对同一个队列的操作,存在同步问题,但当队列中存在可读取数据时,读取操作不依赖于写入操作。因此可以分别建立“写入线程”和“读取线程”。

相关文章

  • 关于线程使用的一些体会

    线程池机制 不同的任务可以统一提交给线程池(ThreadPoolExecutor)托管,Executor负责系统资...

  • 线程通讯详解

    关于子线程能否更新UI的思考线程通讯详解线程池-多线程的高效使用姿势 上文我们说到了关于子线程中能否更新UI的问题...

  • 关于android使用线程池记录一下

    关于创建线程现在还在使用: 上面方法是有一些弊端: 每次new Thread都会新建对象。 线程没有统一管理,有可...

  • jvisualVM:JVM监控分析工具使用介绍

    概述:本文介绍关于GC、线程等JVM通用指标监控的一些常用方式,重点介绍jvisualvm工具使用。 1、远端服务...

  • iOS 多线程--GCD

    前言:本文主要是关于GCD和NSOperation的具体使用,以及关于线程安全的实现. 线程以及进程的基本概念就不...

  • iOS复习之多线程

    关于iOS多线程,你看我就够了iOS多线程--彻底学会多线程使用dispatch_group来进行线程同步 iOS...

  • 多线程利用本地缓存处理相关问题

    最近看了一些关于多线程的介绍,让我感受最深的是有关多线程异步和同步共同使用已达到优化代码的目的,很值得去学习这种思...

  • java线程池源码解析

    主要介绍线程池相关知识,关于线程池,首先我们思考下为什么要用线程池。如果单纯的使用线程,线程的创建和销毁都是自己来...

  • python3线程同步,Lock、Rlock、Condition

    线程同步 Lock、Rlock锁机制 使用锁的原因 为了避免线程间进行数据竞争,有时必须使用一些机制来强制线程同步...

  • 线程的本质(Java 层实现)

    关于上下文请看 线程本质,下面我们直接进入正题。 使用 先看看我们平时使用的方式,使用线程常见的代码如下: 然后我...

网友评论

      本文标题:关于线程使用的一些体会

      本文链接:https://www.haomeiwen.com/subject/wiqpwctx.html