python 进程线程简单理解

简单的理解

1、线程:最小的执行单元;进程:最小的资源单元

2、一个程序至少有一个进程,一个进程至少有一个线程(线程可以理解为线程的容器)

3、进程在执行过程中拥有独立的内存单元,而多个线程共享内存

4、每一个独立的线程都有 程序的入口,顺序执行的序列和程序出口,但是线程不能独立执行,必须由应用程序提供多个线程执行控制

5、进程是系统进行资源分配和调度的一个独立单元

多线程的代码开启

import threading
import time

def sing():
    print("begin to sing            %s" % time.ctime())
    time.sleep(3)
    print("stop to sing             %s" % time.ctime())

def jump():
    print("begin to jump            %s" % time.ctime())
    time.sleep(5)
    print("stop to jump             %s" % time.ctime())

def rap():
    print("begin to rap             %s" % time.ctime())
    time.sleep(7)
    print("stop to rap              %s" % time.ctime())

def play_basketball():
    print("begin to play_basketball  %s" % time.ctime())
    time.sleep(9)
    print("stop to play_basketball   %s" % time.ctime())

if __name__ == '__main__':
    #开启sing的线程
    t1 = threading.Thread(target = sing)
    t1.start()
    #开启jump的线程
    t2 = threading.Thread(target = jump)
    t2.start()
    #开启rap的线程
    t3 = threading.Thread(target = rap)
    t3.start()
    #开启篮球的线程
    t4 = threading.Thread(target = play_basketball)
    t4.start() 

这样,线程开启就可以像cxk一样可以同时进行唱、跳、rap、篮球了。

这一个程序相当于一个进程,而唱跳rap篮球就像四个线程一样,同时执行,他们的间隔时间只是间隔两秒,并不是3 5 7 9 秒

原文地址:https://www.cnblogs.com/hyxk/p/11279104.html

时间: 2024-10-19 08:57:56

python 进程线程简单理解的相关文章

python/进程线程的总结

python/进程线程的总结 一.进程和线程的描述: 进程:最小的资源管理单位 线程:最小的执行单位 执行一个进程时就默认执行一个线程(主线程) 进程和线程的工作方式: 串行: 假如共有A.B.C任务, 串行的执行流程是第一个执行A任务,A任务执行完毕后再执行B任务,B任务执行完毕后最后执行C任务. 并发: 假如共有A.B.C任务,并行的执行流程是执行A任务一段时间,切换成B任务执行一段时间,在切换到C任务,直到A.B.C三个任务都执行完毕. 并行: 假如共有A.B.C任务,并发的执行流程是同一

帮你搞懂Python进程,线程与协程

本文参考原文-http://bjbsair.com/2020-03-22/tech-info/4425/在操作系统中,每一个独立运行的程序,都占有 操作系统 分配的资源,这些程序中间互不干涉,都只负责运行自己的程序代码,这就是进程. 但是当操作系统频繁的创建销毁进程时,大量的系统资源被浪费在创建和销毁的过程中.而随着多核心 cpu 的出现,线程也逐渐代替了进程,成为了操作系统 可以独立运行的基本单位. 当进程不是多线程程序时,存在于进程当中的唯一线程,便是进程本身运行的代码块. 而当多线程出现在

python进程/线程/协成

1.谈谈对多进程多线程以及协成的理解 进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫做程序,进程是系统资源分配的最小单位,进程拥有自己独立的内存空间,所以进程间数据不共享,开销大 线程:调度执行的最小单位,也叫执行路径,不能独立存在,必须依赖进程存在,一个进程至少有一个线程,叫主线程,而多个线程共享内存(数据共享,共享全局变量),从而极大地提高了程序的运行效率. 协成:是一种用户太的轻量级线程,协成的调度完全由用户控制,协成拥有自己的寄存器上下文和栈.协成调度切换时,将寄存器上下文和

python @装饰器 简单理解

个人学python 好久了,但是一直是这里挑点哪里挑点那样学,有点力不从心.最近又想看看装饰器怎么用,就又研究了一下下. 简单点的: #!/usr/bin/python def say(key):                              # 创建一个小函数 print 'your first love!' return key @say def hold(): print 'this is sercod world!' hold() 简单讲一下就是   @say def hol

python 进程 线程 协程

并发与并行:并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔内发生.在单核CPU下的多线程其实都只是并发,不是并行. 进程是系统资源分配的最小单位,进程的出现是为了更好的利用CPU资源使到并发成为可能.进程由操作系统调度. 线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一样事的缺陷,使到进程内并发成为可能.线程共享进程的大部分资源,并参与CPU的调度, 当然线程自己也是拥有自己的资源的,例如,栈,寄存器等等.线程由操作系统调度. 协程通

python中HTMLParser简单理解

找一个网页,例如https://www.python.org/events/python-events/,用浏览器查看源码并复制,然后尝试解析一下HTML,输出Python官网发布的会议时间.名称和地点. 1 from html.parser import HTMLParser 2 from html.entities import name2codepoint 3 4 class MyHTMLParser(HTMLParser): 5 6 in_title = False 7 in_loca

python进程线程

一.背景知识 理论基础 1.操作系统的作用: (1)隐藏丑陋复杂的硬件接口,提供良好的抽象接口 (2)管理.调度进程,并且将多个进程对硬件的竞争变得有序 2.多道技术: (1)产生背景:针对单核,实现并发(现在的主机一般是多核,name每个核都会利用多道技术,但是核与核之间没有使用多道技术切换这么一说,一个程序IO阻塞,会等到IO结束再重新调度) (2)时间上的复用(复用一个cpu的时间片)+空间上的复用(如内存中同时有多道程序) 二.进程 1.什么是进程 进程:正在进行的一个过程或者说一个任务

python 进程/线程/协程 测试

# Author: yeshengbao # -- coding: utf-8 -- # @Time : 2018/5/24 21:38 # 进程:如一个人拥有分身(分数数最好为cpu核心数)几乎同时进行做工# 线程:如这个人正在烧开水,但同时又可以在烧水时间内去吃饭,和扫地,这时线程就会对其随机选择,可能还会出现地还没扫完,水就开了,但他还会扫地{这就可能出现数据丢失}..# 协程:这个一个比线程更小的线程非常相似,但他在执行任务时,已经被规划好了,不会就行额外的时间浪费,创建时更省资源 im

python -- 进程线程专题

要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识. Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回. 子进程永远返回0,而父进程返回子进程的ID.这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用get