开启程序子进程的方式

开启进程的方式

串行:一个完完整整的执行完再执行下一个

并发:看起来是同时运行的

并行:真正做到了同时运行多道技术(了解) 

空间复用:共用一个内存条,每一个进程都有自己独立的内存空间,互不干扰,物理级别的隔离  

空间复用:共用一个cpu

cpu切换(掌握)  

io的时候,占用时间过长

切换现代计算机:现在的主机一般是多核,那么每个核都会利用多道技术
            有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到                4个cpu的任意一个,具体由操作系统调度算法决定

并发:切换+保存状态开启子进程:把父进程的代码完整复制到一个新的内存空间去执行
开启子进程方式一
from multiprocessing  import Process
import time
def task():
    print('原来是钟硕啊')
    time.sleep(3)
    print('原来不是钟硕啊')

if __name__=='__main__':
    p=Process(target=task)
    p.start()
    print('原来真的是钟硕啊')
开启子进程方式一之多进程
from multiprocessing  import Process
import time
def task(x):
    print(f'原来是钟硕啊{x}')
    time.sleep(3)
    print(f'原来不是钟硕啊{x}')

if __name__=='__main__':
    p=Process(target=task,args=('lzs',))  ###以元组的形式存储
    p2=Process(target=task,args=('sss'))

    p.start()
    print('原来真的是钟硕啊')
开启子进程方式二
from multiprocessing  import Process
import time
def task(x):
    print(f'原来是钟硕啊{x}')
    time.sleep(3)
    print(f'原来不是钟硕啊{x}')

if __name__=='__main__':
    p=Process(target=task,args=('lzs',))  ###以元组的形式存储
    p2=Process(target=task,args=('sss'))

    p.start()
    print('原来真的是钟硕啊')

原文地址:https://www.cnblogs.com/lzss/p/11527640.html

时间: 2024-08-29 14:41:14

开启程序子进程的方式的相关文章

程序间协作方式-shell out

程序间协作方式-shell out shell out这个名词虽然没怎么听说,但是说不定在默默的使用,说白了就是通过一个程序通过命令的形式调用另一个程序,即system(2)系统调用.其中存在的交互(或者称为协议)很简单,一个执行完了,接着另一个再执行,不会有通信过程,最多有调用程序向被调用程序传递参数. 这种模式的变形,就是C库函数popen()和pclose(),我们可以把popen这种机制看做是对shell out 和 管道的一个上层封装:创建管道,fork一个子进程,关闭不使用的端,运行

怎样以程序员的方式来用百度呢?

前几天朋友圈被<搜索引擎百度已死>刷屏,随着文章持续发酵,百度股价也大跌 6%. 一直以来,百度都是中国绝对的门面网站.在 Alexa 世界 TOP 500 网站排名中,百度位居世界第四,中国第一 .但做出的搜索引擎和远在大洋那头的谷歌一比,就--于是,懂技术的网友纷纷弃百度投谷歌,不懂技术的就只能继续受着了,有人善意支了个招,说用微软的 Bing 搜索吧,于是 Bing 就无法访问了-- 百度的首页搜索结果几乎都被广告.百家号及其他自家网站的内容占据了,很难搜到想要的内容. 这里教你如何用程

轻松学霸 (程序员思考方式)——1 十种有效的学习方法

好方法,高效率.特别推荐下列十大学习方法 1.目标学习法 把一个伟大的目标,拆分成一个个小目标,再把小目标分成各个步骤.按步骤当学霸.就像程序中只有0和1一样.so easy. 目标拆分还有一个好处,可以多任务并行处理.如在路途中,不能看书,那就听书. a.目标是什么?一定要明确,有标准. b.此时时刻做到哪一步了? c.是否完成? 2.问题学习法 带着问题去看书,有利于集中注意力,目的明确.也会感兴趣.当您真正找到问题答案时,您会发现要找的东西很少,学到的更多.不要被问题吓倒,解决问题的过程就

java多线程开启的三种方式

1.继承Thread类,新建一个当前类对象,并且运行其start()方法 1 package com.xiaostudy.thread; 2 3 /** 4 * @desc 第一种开启线程的方式 5 * @author xiaostudy 6 * 7 */ 8 public class Demo1_Thread extends Thread { 9 10 public void run() { 11 for (int i = 0; i < 10; i++) { 12 System.out.pri

开启程序的Visual Styles

首先看看MS对Visual Styles的解释: Windows XP and later operating systems support a feature called visual styles that enables the appearance of common controls to change based on the theme chosen by the user. Prior to Windows 8, you must specifically configure

开启进程俩种方式

#!/usr/bin/env python # encoding: utf-8  # Date: 2018/6/16 # # 方式一:# from multiprocessing import Process# import time### # 定义task,开启进程就是执行任务# def task(name):#     print('%s is running' % name)#     time.sleep(3)#     print('%s is done' % name)### if

用c#开发苹果应用程序 xamarin.ios方式

Networkcomms网络通信框架来自于英国,支持以xamarin.ios的方式开发苹果应用程序 其开源版本2.3.1中带有一个示例程序,实现聊天功能,只要输入对方手机的IP和端口就能够显示聊天,可以作为学习networkcomms框架的入门程序 using System; using System.Collections.Generic; using System.Linq; using MonoTouch.Foundation; using MonoTouch.UIKit; using N

多线程开启的三种方式

class Program { static int Test(int i) { Console.WriteLine("test"+i); return 100; Thread.Sleep(10); //让当前线程休眠(暂停当前线程的执行)单位为毫秒ms } static void Main(string[] args) //在main方法中执行 一个线程的执行是从上往下执行的 { //通过委托来开启一个线程 //Func<int,int> a = Test; //IAsy

android应用程序的安装方式与原理

四种安装方式: 1.系统应用安装――开机时完成,没有安装界面 2.网络下载应用安装――通过market应用完成,没有安装界面 3.ADB工具安装――没有安装界面. 4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面. 应用安装的流程及路径 应用安装涉及到如下几个目录: system/app ---------------系统自带的应用程序,获得adb root权限才能删除 data/app  ----------