最近在和同事们聊天,他们说自己在写一个ping多个IP地址读取状态的情况。想多线程,比较麻烦。后来我给他说了一个软件,fping,简单。 1. 在centos/redhat上yum直接安装 yum install -y fping 2. 在ubuntu上apt-get直接安装&nbs
原创
2016-12-15 18:57:07
1782阅读
# 两个字符串之间不能直接进行乘法操作
price = float(input("请输入每公斤苹果的价格:"))
weight = float(input("请输入购买的重量:"))
money = price * weight
# 格式1:
print("苹果单价为:%.2f元, " % price, "重量为:%.2f公斤, " % weight, "总计:%.2f元" % money)
#
转载
2023-06-16 00:58:53
125阅读
一 进程与线程的概念1.1 进程考虑一个场景:浏览器,网易云音乐以及notepad++ 三个软件只能顺序执行是怎样一种场景呢?另外,假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作),而此时CPU只能静静地等待任务A读取完数据才能继续执行,这样就白白浪费了CPU资源。你是不是已经想到在程序A读取数据的过程中,让程序B去执行,当程序A读取完数据之后,让程序B暂停。
并发编程一般来说,主要有两个目的:程序对并发效果的需求和提高程序运行效率。本文所讲的内容是针对提高程序运行效率这个话题的,因此对于多线程还是多进程的选择,后面将围绕如何提高程序运行效率展开。目录一、任务的执行时间拆分二、线程、进程和CPU调度三、全局解释器锁(GIL)四、python线程和进程的区别五、python中选择多线程和多进程的判断方法
# Python实现网络扫描工具fping
网络扫描工具是网络管理员和安全专家必备的工具之一。它们可以用于探测网络中的主机和端口状态,帮助快速定位网络故障和安全漏洞。fping是一个常用的网络扫描工具,可以通过向目标主机发送ICMP Echo请求并接收响应来判断主机是否存活。在本文中,我们将介绍如何使用Python实现简单的fping工具。
## fping的工作原理
fping的工作原理非
原创
2023-09-14 04:52:02
283阅读
【MySQL】开启并行复制一、介绍在官方的 5.6 版本之前,MySQL 只支持单线程复制,由此在主库并发高、TPS 高时就会出现严重的主备延迟问题。如果备库执行日志的速度持续低于主库生成日志的速度,那么主从延迟就有可能成了小时级别。而且对于一个压力持续比较高的主库来说,备库很可能永远都追不上主库。1MySQL 5.6版本的并行复制策略官方 MySQL5.6 版本,支持了并行复制,只是支持的粒度是
转载
2023-09-05 21:01:11
82阅读
原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要
原创
2023-02-05 20:59:27
125阅读
1.多线程的线程守护在python3中,主线程主进程结束,子进程不会结束,为了能够让主线程回收子线程,可以把子线程设置为守护线程,即该线程不重要,主线程结束,子线程结束: 举个例子:import time
import threading
def test():
while True:
print('测试线程守护!!',threading.currentThread())
转载
2024-01-30 22:49:42
182阅读
在处理数据集时,常常会遇到用for循环处理数据集的情况。但是如果简单地用for循环就会出现cpu资源利用不充分的情况。下图是直接使用for循环的cpu利用率:大概是10-15之间,单线程无疑了,此外100个数据耗时50秒。features = []
with open(self.file_name) as f:
for line in tqdm(f.read
转载
2023-07-27 18:19:29
285阅读
在本教程中,我们将学习如何使用Python实现多线程和多处理方法。这些方法指导操作系统优化使用系统硬件,从而提高代码执行效率。多线程引用Wiki的解释—在计算机体系结构中,多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,进而提升整体处理性能。并发指的是可以实现多个进程的并行执行,从而实现更快的运行时间。当执行基于I/O的任务(如
转载
2023-06-12 10:35:00
263阅读
前言最近常常需要处理大量的crash数据,对这些数据进行分析,在此之前需要将存量的数据导入自己的数据库,开始一天一天的去导,发现太慢了,后来尝试通过python多线程并行导入多天数据,以此记录对于Python多线程的使用。进程与线程在介绍Python的多线程之前,我们需要先明确一下线程和进程的概念,其实线程和进程是操作系统的基本概念,都是实现并发的方式,其二者的区别可以用一句话概括:进程是资源分配
转载
2023-05-31 22:41:33
353阅读
点赞
1.1 什么是多线程 Threading多线程可简单理解为同时执行多个任务。多进程和多线程都可以执行多个任务,线程是进程的一部分。线程的特点是线程之间可以共享内存和变量,资源消耗少(不过在Unix环境中,多进程和多线程资源调度消耗差距不明显,Unix调度较快),缺点是线程之间的同步和加锁比较麻烦。1.2 添加线程 Thread导入模块import threading获取已激活的线程数threadi
转载
2023-07-05 01:10:31
225阅读
一、多线程的概念:多线程指的是从软件或者硬件上实现多个线程并发执行的技术,通俗上说就是同时执行的多个任务。(同时执行多个任务就是并行,这是个伪概念,因为pycharm的运行机制决定了不可能真正实现并行)二、什么是并发以及并行:1.并发: 指的是任务数多余 cpu 核数,通过操作系统的各种任务调度算法 2.并行:指的是任务数小于等于 cpu 核数,即任务真的是一起执行的三、多线程的创建:#导包:
i
转载
2023-06-15 11:34:58
344阅读
1. 为什么需要线程锁?多个线程对同一个数据进行修改时, 可能会出现不可预料的情况.2. 如何实现线程锁?# 1. 实例化一个锁对象;
lock = threading.Lock()
# 2. 操作变量之前进行加锁
lock.acquire()
# 3. 操作变量之后进行解锁
lock.release()python多线程是并发执行,
转载
2023-06-06 14:50:03
361阅读
一、简介:关于多线程 Python多线程和C/C++多线程利用CPU核不太一样,Python多线程由于GIL存在的原因,只能单核分时间片来轮询运行多个线程,也就是说不管CPU是多少个核,用多线程时候只能是单核,然后多个thread将CPU分为一个个的时间片,一般来说是100条机械码,切换一个线程,轮询着来
转载
2023-06-16 13:22:35
249阅读
Python多线程是指在一个程序中同时执行多个线程,每个线程都可以执行独立的任务。多线程可以让程序在执行阻塞操作(如I/O操作)时不会阻塞整个程序的执行,从而提高程序的效率。
转载
2023-03-30 17:22:12
788阅读
cd /usr/local/src/ yum -y install wget lrzsz telnet nmap gcc wget http://fping.org/dist/fping-3.10.tar.gz tar xzvf fping-3.10.tar.gz cd fping-3.10 ./configure --prefix=/usr/lo
原创
2015-04-01 16:10:16
1056阅读
不知不觉中,我们又一起完成了第二大章进阶篇的学习。我非常高兴看到很多同学一直在坚持积极地学习,并且留下了很多高质量的留言,值得我们互相思考交流。也有一些同学反复推敲,指出了文章中一些表达不严谨或是不当的地方,我也表示十分感谢。大部分留言,我都在相对应的文章中回复过了。而一些手机上不方便回复,或是很有价值很典型的问题,我专门摘录了出来,作为今天的答疑内容,集中回复。问题一:列表 self appen
一、使用函数来创建线程使用函数来创建线程,顾名思义,就是我们把要完成的任务封装成一个个函数,然后使用 threading 库中的 threading.Thread(target=) 函数来创建线程,其中传给target的就是我们创建的函数。比如我们要创建两个线程,一个线程用来执行 写字 这个任务,一个线程用来执行 绘画 这个任务,那么就可以将这两个任务封装成函数,然后再进行创建进程。示例代码如下:
转载
2023-07-04 22:57:02
220阅读
前言以前喜欢python的爬虫是出于他的简洁,但到了后期需要更快,更大规模的爬虫的时候,我才渐渐意识到java的强大。Java有一个很好的机制,就是多线程。而且Java的代码效率执行起来要比python快很多。这份博客主要用于记录我对多线程爬虫的实践理解。线程线程是指一个任务从头至尾的执行流。线程提供了运行一个任务的机制。对于Java而言,可以在一个程序中并发地启动多个线程。这些线程可以在多处理器
转载
2024-01-28 01:38:20
51阅读