python獲取執行緒返回值

  • 2022 年 7 月 29 日
  • 筆記

python获取线程返回值 前言 工作中的需求 将前端传过来的字符串信息通过算法转换成语音,并将语音文件返回回去 由于算法不是我写的,只需要调用即可,但是算法执行速度相当缓慢 我的优化思路是,将前端的字符串按照句号分割,开启相等长度的线程池,并发执行算法 首先判断这种思路是否可行 实现多线程 常用思 …

Continue Reading

【.NET 6】多執行緒的幾種打開方式和程式碼演示

  • 2022 年 6 月 19 日
  • 筆記

前言: 多线程无处不在,平常的开发过程中,应该算是最常用的基础技术之一了。以下通过Thread、ThreadPool、再到Task、Parallel、线程锁、线程取消等方面,一步步进行演示多线程的一些基础操作。欢迎大家围观。如果大佬们有其他关于多线程的拓展,也欢迎在评论区进行留言,大佬们的知识互助, …

Continue Reading

JavaSE高級編程之多執行緒

4. 多线程 4.1 基本概念:程序、进程和线程 程序、进程和线程 程序:为了完成特定的任务,用某种语言编写的一组指令的集合。程序是一段静态的代码,静态对象。 进程:是程序的一次执行过程或正在运行的程序。(进程是一个任务)。进程是一个动态的过程:有产生、存在和消亡的过程——即拥有生命周期。 程序是静 …

Continue Reading

簡單的執行緒池(九)

  • 2022 年 1 月 10 日
  • 筆記

◆ 概要 本文中,笔者尝试组合了非阻塞式和阻塞式的队列,成为新的组合式线程池。线程池有一个共享任务队列,每个工作线程各有一个工作任务队列。线程池用户提交的任务,先被保存在共享任务队列中。线程池的调度器线程将共享任务队列中的任务分派给工作线程的工作任务队列,工作线程从工作任务队列中获取任务并执行。 【 …

Continue Reading

簡單的執行緒池(八)

  • 2021 年 12 月 29 日
  • 筆記

概要 笔者根据 Anthony Williams 在《C++并发编程实战》中所述, 某个工作线程在任务队列的头部操作,而其它工作线程在任务队列的尾部操作。这实际上意味着这个队列对于拥有线程来说是一个后进先出的栈。最近被放到队列中的任务会最先被取出来执行。从缓存的角度来说这可以提高性能,因为对比之前被 …

Continue Reading

簡單的執行緒池(七)

  • 2021 年 12 月 23 日
  • 筆記

◆ 概要 本文中,笔者为 《简单的线程池(四)》 提及的非阻塞独占式线程池增加了一项功能:当某个工作线程的任务队列中无工作任务时,此工作线程可以去其他工作线程的任务队列中获取任务。笔者称之为非阻塞互助式线程池。 笔者对比了测试结果与 《简单的线程池(六)》 的数据,得出了添加功能前后的差异。 本文不 …

Continue Reading

簡單的執行緒池(六)

  • 2021 年 12 月 17 日
  • 筆記

◆ 概要 本文汇总了 简单的线程池(三) 、 简单的线程池(四) 、 简单的线程池(五) 中的测试数据,并在此基础上对比了 非阻塞共享式 、 阻塞共享式 、 非阻塞独占式 、 阻塞独占式 这四个线程池的吞吐量指标。笔者对结果进行了分析,给出笔者的结论。如对测试方案、概念等有不明之处,请参考 该博文 …

Continue Reading

簡單的執行緒池(五)

  • 2021 年 12 月 14 日
  • 筆記

◆ 概要 笔者在 《简单的线程池(四)》 中采用了非阻塞的(nonblocking)线程同步方式,在此文中笔者将采用阻塞的(blocking)线程同步方式(参考 《简单的线程池(二)》 ) 实现相同特性的线程池。 本文不再赘述与 《简单的线程池(二)》 、 《简单的线程池(四)》 相同的内容。如有不 …

Continue Reading

簡單的執行緒池(四)

  • 2021 年 12 月 13 日
  • 筆記

概要 笔者对 《简单的线程池(一)》 中的非阻塞式线程池进行了改造。在新的线程池中,为每个工作线程配备一个独占的任务队列。线程池用户提交的任务被随机地分配到各个独占的任务队列中。工作线程从独占的任务队列中获取任务并执行。 本文不再赘述与 《简单的线程池(一)》 相同的内容。如有不明之处,请参考该博客 …

Continue Reading

簡單的執行緒池(三)

  • 2021 年 12 月 8 日
  • 筆記

概要 本文中,作者针对 简单的线程池 和 简单的线程池(二) 介绍的两个线程池分别进行了并发测试,并基于收集的测试数据,对结果进行了分析。 目的 本测试是为了确认 非阻塞式线程池 与 阻塞式线程池 的生存性,以及两者在吞吐量上的差异,为改进线程池提供数据支撑。 【注】这里的差异以非阻塞式的吞吐量为基 …

Continue Reading