当前位置: 首页 > news >正文

进程与线程区别

#!/usr/bin/env python
# encoding: utf-8  
# Date: 2018/6/18


# 1、开进程的开销远大于开线程的
# import time
# from threading import Thread
# from multiprocessing import Process
#
#
# def task(name):
#     print('%s is running ' % name)
#     time.sleep(2)
#     print('%s is done' % name)
#
#
# if __name__ == '__main__':
#     # t1 = Thread(target=task, args=('线程1', ))
#     # t1.start()
#     p1 = Process(target=task, args=('线程1',))
#     p1.start()
#     print('主线程')

# 2、同一个进程内的线程共享该进程的地址空间
# from threading import Thread
# from multiprocessing import Process
# n = 100
#
#
# def task():
#     global n
#     n = 0
#
#
# if __name__ == '__main__':
#     t1 = Thread(target=task, )
#     t1.start()
#     t1.join()  # 主 0
#     # p1 = Process(target=task, )
#     # p1.start()
#     # p1.join()
#     print('主', n)  # 主 100

# 3、瞅一眼pid
# from multiprocessing import Process, current_process
# import os
#
#
# def task():
#     # print(current_process().pid)
#     print('子进程pid:%s  父进程pid: %s' % (os.getpid(), os.getppid()))
#
#
# if __name__ == '__main__':
#     p1 = Process(target=task, )
#     p1.start()
#     # print('主', current_process().pid)
#     print('主', os.getpid())  # 作用同上一行代码

from threading import Thread
import os


def task():
    print('子线程pid:%s ' % (os.getpid()))  # 子线程pid:37352


if __name__ == '__main__':
    p1 = Thread(target=task, )
    p1.start()
    print('主', os.getpid())  # 主 37352



转载于:https://www.cnblogs.com/fmgao-technology/p/9194503.html

相关文章:

  • ASP.NET CORE系列【四】基于Claim登录授权
  • 【JSConf EU 2018】主题总结 (部分主题已有中文文章)
  • Java系列之EJB 理解
  • 百度echarts可以做什么
  • 第六章
  • Disruptor并发框架
  • Oracle基础学习(二) 存储过程和函数
  • (四)Linux Shell编程——输入输出重定向
  • RHEL6解决无法使用YUM源问题 {已验证切实可行}
  • .NET Core 中的路径问题
  • 太多脚本将会毁掉持续交付
  • java中的equals和==
  • Fcoin交易所的危险游戏!韭菜请远离!
  • mavne settings.xml
  • Ambari 2.6(HDP 2.6.5)安装记要
  • 网络传输文件的问题
  • egg(89)--egg之redis的发布和订阅
  • github从入门到放弃(1)
  • Git初体验
  • laravel with 查询列表限制条数
  • PHP 的 SAPI 是个什么东西
  • PHP那些事儿
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 机器学习 vs. 深度学习
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 坑!为什么View.startAnimation不起作用?
  • 配置 PM2 实现代码自动发布
  • 数据科学 第 3 章 11 字符串处理
  • 通过几道题目学习二叉搜索树
  • 用 Swift 编写面向协议的视图
  • 用jQuery怎么做到前后端分离
  • ionic异常记录
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​iOS安全加固方法及实现
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #include到底该写在哪
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (4)事件处理——(7)简单事件(Simple events)
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十五)使用Nexus创建Maven私服
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • .Net中ListT 泛型转成DataTable、DataSet
  • .py文件应该怎样打开?
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [383] 赎金信 js
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...
  • [ACTF2020 新生赛]Upload 1