1.用进程实现类似定时器的功能

import multiprocessing

import time

def clock(interval):

while True:

print "The time is {0}".format(time.ctime())

time.sleep(interval)

if __name__ == "__main__":

p = multiprocessing.Process(target=clock,args=(3,))

p.start()

p.join()

2.进程的基本编程

run:如果在创建Process对象的时候不指定target,那么就会默认执行Process的run方法:

#encoding:utf-8

from multiprocessing import Process

import os, time, random

def r():

print ‘run method‘

if __name__ == "__main__":

print "main process run..."

#没有指定Process的targt

p1 = Process()

p2 = Process()

#如果在创建Process时不指定target,那么执行时没有任何效果。因为默认的run方法是判断如果不指定target,那就什么都不做

#所以这里手动改变了run方法

p1.run = r

p2.run = r

p1.start()

p2.start()

p1.join()

p2.join()

print "main process runned all lines..."

最上面演示的代码中,在调用Process的start方法后,调用了两次join方法。这个join方法是干什么的呢?

官方文档的意思是:阻塞当前进程,直到调用join方法的那个进程执行完,再继续执行当前进程。

比如还是刚才的代码,只是把两个join注释掉了:

#encoding:utf-8

from multiprocessing import Process

import os, time, random

def r1(process_name):

for i in range(5):

print process_name, os.getpid() #打印出当前进程的id

time.sleep(random.random())

def r2(process_name):

for i in range(5):

print process_name, os.getpid() #打印出当前进程的id

time.sleep(random.random())

if __name__ == "__main__":

print "main process run..."

p1 = Process(target=r1, args=(‘process_name1‘, ))

p2 = Process(target=r2, args=(‘process_name2‘, ))

p1.start()

p2.start()

#p1.join()

#p2.join()

print "main process runned all lines..."

python 操作进程_python进程简单操作相关推荐

  1. python win32gui使用_python win32 简单操作

    #coding: utf-8 importwin32gui, win32api, win32conimporttimeimportwin32clipboard as wimportloggingdef ...

  2. python内存持续增长_Python 进程内存增长解决方案

    一.表现 运行环境: # uname –a Linux ** 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_ ...

  3. python数据库操作框架_python bottle 框架操作数据库

    python操作mysql数据库用MySQLdb模板,操作postgresql则用psycopg2模块 安装MySQLdb(用yum安装,好像只能与mysql5.1版本配合使用):yum instal ...

  4. Python --链接MYSQL数据库与简单操作 含SSH链接

    项目是软硬件结合,在缺少设备的情况,需要通过接口来模拟实现与设备的交互,其中就需要通过从数据库读取商品的ID信息 出于安全考虑  现在很多数据库都不允许通过直接访问,大多数是通过SSH SSH : 数 ...

  5. Python数据分析—数据框的简单操作

      本文是数据分析的第三课,教大家如何在python中对数据框进行简单操作,包括更改列名.显示某列中的部分字符.对某列的数值型数据进行取整等.    文章目录 1 更改列名 2 显示某列中的部分字符 ...

  6. python界面设置中文_Python Spyder 怎么操作才能打开用户设置的界面(如图),python spyder教程中文...

    python的那个spyder中可以输出汉字么 AddressList.getList() 函数直接 return, 相当于返回 None, 然后主函数里打印出来了. 要AddressList.get ...

  7. python操作目录_Python语言目录操作一

    本文主要向大家介绍了Python语言目录操作一,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 目录操作 Python os 模块提供了一个统一的操作系统接口函数, 这些接口函数通 ...

  8. python启动方法_python进程开启的两种方式

    一.进程 1.1.方式一 from multiprocessing import Process import time #方式一 def task(name): print(f"my na ...

  9. python字典操作添加_Python字典常见操作实例小结【定义、添加、删除、遍历】

    本文实例总结了python字典常见操作.分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合. #字典 键值对组合 alien_0 ={'color':'green', ...

  10. python封装举例_Python面向对象封装操作案例详解

    本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 -- 将 属性 和 ...

最新文章

  1. 数组实现栈,实现push,pop,size方法 -- 面试算法
  2. CentOS 7.x使用yum快速安装或升级PHP 5.6
  3. linux 查看ip_如何在 Linux 中查看可用的网络接口 | Linux 中国
  4. leetcode 172. Factorial Trailing Zeroes(阶乘的末尾有多少个0)
  5. 在RStudio里面部署Python
  6. 高通骁龙各代处理器解析
  7. Win7怎么进入注册表(regedit)
  8. ImageMagicK之合成图片
  9. python分割文件_python简单分割文件的方法
  10. 前缀学习完结篇 第三课上
  11. 在WindowsMobil系统中实现透明树组件
  12. matlab摩托车刹车问题,安全骑行篇,摩托车刹车的基本知识与技巧!
  13. 免费领取三个月苹果ARCADE订阅教程
  14. libxml2剖析(3):使用教程
  15. Log4j输出终端(Appender)详解
  16. Android-NFC模块学习(1)
  17. 人工智障和神经病网络对话--30行python让图灵机器人和茉莉机器人无止尽的瞎扯蛋
  18. Java项目:SSM快递取件管理系统
  19. hgame 2022 PWN 部分题目 Writeup
  20. C# Async/Await原理剖析

热门文章

  1. SQL:postgresql中COALESCE函数
  2. 使用JMH做Java微基准测试(二)Hello2020!
  3. SLAM_SLAM中一般是如何求解相机的运动的?
  4. 知识点汇总【一】操作系统三十八问
  5. Pytorch BatchNorm
  6. Deep manta算法解析
  7. SSD物体检测(附源代码,可以直接运行)
  8. 【aspnetcore】模拟中间件处理请求的管道
  9. 精读45-180程序转弯模板
  10. perl学习二:简单变量