[python 并行2] 线程
基本使用
python线程使用的两个模块为: _thread (不推荐再使用)、 threading
(查看threading的源码可以发现,threading实际是对_thread进一步的封装,官方将其称为 *Low-level threading API,下面简单尝试使用_thread)*
调用start_new_thread()函数生成新线程
函数声明:_thread.start_new_thread(function, args[, kwargs])
function: 子线程所执行的函数
args: 传递的参数,参数类型必须是元组
kwargs:可选参数
示例:
#!usr/bin/env python
#coding=utf-8
import _thread
i...
[python 并行1] 简介
设计并行编程 1
任务分解:将程序分解为任务,在不同处理器上执行以实现并行化。(可以使用以下两种方法)
领域分解:将问题数据分解 (当处理的数据量很大时,分开处理)
功能性分解:将问题分解为任务 (把大的任务分解为多个小任务处理)
任务分配:将任务分配到各个处理器上 (目的是负载均衡)
聚集:将小任务与大任务合并到一起从而改进性能的过程
如果任务数量远远超过可用的处理器数量,由于线程切换等其它因素会导致效率降低
如果计算机有针对大量小任务而进行特别的设计,如采用GPU计算,那将能从大量小任务的运行中获益
映射:指定哪个任务将要执行 (目标是将总执行时间降到最低)(可以使用以下2中策略,这2个策略间由于是冲突的,需要做出权衡)
通信频...
共计 74 篇文章,10 页。