多线程与简单统筹学--Python语言描述

  • 线程:一言以蔽之,就是代码在进程执行过程中的一条流程。(具体概念请读者自行查阅)

  • 统筹学:研究如何在实现整体目标的全过程中施行统筹管理的有关理论、模型、方法和手段。换而言之,就是如何在一个可拆分的项目中,合理的分配和调度各个部分,从而节约成本(本文主要考虑时间成本)。

例子:生活中的统筹学--华罗庚

说明:这个例子中,将“泡茶”这一具体事件拆分为五个部分,各个部分存在相互依赖(如 洗开水壶与烧开水),当然也存在低耦合的情况(如 烧开水与洗茶杯),我们完全可以利用线程的优势来实现这一过程,相互依赖的部分使用全局变量进行通信,低耦合部分交由OS进行调度和协调。

代码:

#coding:utf-8
import threading
import time
BoilingWater = 0
Teapot_is_clean = 0
Kettle_is_clean = 0
Tea = 0
#烧开水
def getBoilingWater():global BoilingWaterwhile Kettle_is_clean==0:passtime.sleep(10)BoilingWater = 1#洗茶壶、茶杯
def clearTeapot():global Teapot_is_cleantime.sleep(2)Teapot_is_clean = 1#洗开水壶
def clearKettle():global Kettle_is_cleantime.sleep(1)Kettle_is_clean = 1#取茶叶
def getTea():global Teatime.sleep(1)Tea = 1#泡茶
def makeTea():while Tea==0 or Teapot_is_clean==0 or BoilingWater==0:passtime.sleep(1)print(time.time()-start)start = time.time()
threadList = []
threadList.append(threading.Thread(target=getBoilingWater))
threadList.append(threading.Thread(target=clearTeapot))
threadList.append(threading.Thread(target=clearKettle))
threadList.append(threading.Thread(target=getTea))
threadList.append(threading.Thread(target=makeTea))for t in threadList:t.start()

补充:

  • 线程通讯:python 实现线程之间的通信
  • 生活中的统筹学--华罗庚:https://wenku.baidu.com/view/ee111f265f0e7cd184253634.html

多线程与简单统筹学--Python语言描述相关推荐

  1. 大学python用什么教材-数据结构 Python语言描述 大学教材

    书名:数据结构:Python语言描述 定价:69.8 ISBN:9787115485779 作者:张光河 版次:第1版 出版时间:2018-07 内容提要: Python是目前流行的程序设计语言,国内 ...

  2. python中栈的描述是_数据结构与算法:Python语言描述 栈和队列.ppt

    数据结构与算法:Python语言描述 栈和队列 迷宫问题 迷宫问题的特点: 存在一集可能位置,一些位置相互连通,一步可达 一个位置可能连通若干位置,出现向前探查的多种可能(有分支) 目标是找到一条路径 ...

  3. 《数据结构与算法 Python语言描述》 读书笔记

    已经发布博客 <数据结构与算法 Python语言描述> 读书笔记 第二章 抽象数据类型和Python类 2.1 抽象数据类型abstract data type:ADT 2.1.1 使用编 ...

  4. 资料分享:送你一本《数据结构与算法:Python语言描述》电子书!

    下图为 TIOBE 3月编程语言排行榜. 从榜单来看,曾经铁打的 Java.C.C++ 局势,早已在数月前被 Python 的闯入而打破.究其根由,并非是 C++ 的应用领域正在逐渐缩减,而是随着人工 ...

  5. 《数据结构与算法:Python语言描述》一1.3算法和算法分析

    本节书摘来自华章出版社<数据结构与算法:Python语言描述>一书中的第1章,第1.3节,作者 裘宗燕,更多章节内容可以访问云栖社区"华章计算机"公众号查看 1.3算法 ...

  6. 数据结构python课后答案_数据结构与算法:Python语言描述 1~5章课后习题

    数据结构与算法:Python语言描述 1~5章课后习题 发布时间:2018-07-19 20:42, 浏览次数:1885 , 标签: Python MarkDown语法写的,不知道为啥上传到CSDN不 ...

  7. 数据结构与算法python描述_数据结构与算法——Python语言描述.pdf

    数据结构与算法--Python语言描述.pdf 欢迎加入非盈利Python编学习交流程QQ群783462347,群里免费提供500+本Python书籍! 欢迎加入非盈利Python编程学习交流程QQ群 ...

  8. 最简单的python语言实现汉诺塔游戏

    最简单的python语言实现汉诺塔游戏 实现代码 def hanoi(n,ch1,ch2,ch3):if n==1:print(ch1, '->', ch3)else:hanoi(n - 1, ...

  9. python思想读后感_数据结构与算法:Python语言描述读后感1000字

    <数据结构与算法:Python语言描述>是一本由裘宗燕著作,机械工业出版社出版的平装图书,本书定价:CNY 45.00,页数:343,特精心从网络上整理的一些读者的读后感,希望对大家能有帮 ...

最新文章

  1. 宁波城市职业技术学院Linux,宁波城市职业技术学院拟聘用人员公示
  2. 谈谈NTFS数据流文件
  3. matlab命名文件保存在哪里,用Matlab给整个文件夹下的文件分别重命名
  4. [C1W3] Neural Networks and Deep Learning - Shallow neural networks
  5. python34怎么安装_简明Python3教程 4.安装
  6. [Java网络编程基础]InetAddress的使用
  7. Windows phone7 开发-Zune software is not launched 【转】
  8. antd权限管理_Ant Design Pro开发后台管理系统(权限)-阿里云开发者社区
  9. android ListView中CheckBox错位的解决
  10. 灰色滤镜,网页灰色代码
  11. html增删改查按钮控件,HTML DOM节点的增删改查
  12. 网络协议 终章 - GTP 协议:复杂的移动网络
  13. Tomcat后台管理
  14. 2017-AHU校赛网络赛解题报告
  15. 技术小卡之Redis 管道技术
  16. airdrop搜不到对方_如何在Mac的Finder中将AirDrop添加到收藏夹侧边栏
  17. ES (ElasticSearch) 简易解读(一)为什么用它
  18. Java学习(二)---SE阶段回顾
  19. Java String 类和正则表达式
  20. python爬取淘宝商品做数据挖掘

热门文章

  1. Vue 电话号码344分割
  2. 二、Snapman多人协作电子表格之——软件下载安装与配置
  3. hpuoj 1715: 感恩节KK专场——2015年的第一场雪 (暴力)
  4. 脚印(Foot Print)效果制作
  5. 用户在电商网站中购买成功了,那么它在微服务中经历了什么(转)
  6. Spark:利用tac+cellid基站定位
  7. 「镁客·请讲」OracleChain老狼:EOS智能合约生态唯上,超级节点的竞争,不看吹牛先看做事...
  8. 亲爱的老狼-绝对路径、相对路径
  9. 求n的阶乘的算法框图_算法——递归问题
  10. [HNOI2005]狡猾的商人