多线程编程

【●】多线程编程
一、多线程工作原理
1.多线程任务的工作特点
● 他们本质上就是异步的,需要有多个并发事务。
● 各个事务的运行顺序可以是不确定的,随机的,不可预测的。
● 这样的编程任务可以被分成多个执行流,每个流都有一个要完成的目标。
● 根据应用的不同,这些子任务可能都要计算出一个中间结果,用于合并得到最后的结果。

2.什么是进程
进程就是运行中的程序。
进程在运行过程中独享系统资源 CPU 内存。
多个进程运行时是串行。

3.什么是线程
线程是进程中最小单元。
  一个进程里可以包含多个线程。
多个线程同时运行时,共享资源 是并行执行。

二、多线程编程
1.多线程相关模块
●thread和threading模块允许程序员创建和管理线程。
●thread模块提供了基本的线程和锁的支持,而threading提供了更高级别、功能更强的线程管理功能。
[root@dc python]# vim thread.py

import threading  # 导入多线程模块
import time

def say_hello():
    for x in range(10):
        print("勇敢牛牛 不怕困难")
        time.sleep(1)

def say_world():
    for y in range(10):
        print("天王盖地虎 宝塔镇河妖")
        time.sleep(1)

t1 = threading.Thread(target=say_hello)
t2 = threading.Thread(target=say_world)
t1.start()  # 启动 t1 线程
t2.start()
[root@dc python]# python3 thread.py

执行脚本后可以显示所在网络  在线主机的ip 及不在线主机的ip通过多线程的方式编程。
格式:
192.168.4.21 up
192.168.4.25 down

[root@dc python]# vim ping.py

import subprocess    #导入模块
import threading  # 导入多线程模块

def ping(host_ip):   #定义检测主机是否在线的函数ping
    r = subprocess.run('ping -c2 %s &> /dev/null' % host_ip, shell=True)
    if r.returncode == 0:
         print(host_ip, ': up')
    else:
        print(host_ip, ': down')

#ping('192.168.4.100')  #执行函数时给函数传要检测的ip地址

if __name__ == '__main__':
 #以循环的方式将所要检测的ip地址传给函数
    for x in range(1, 255):
        ipv4 = '192.168.1.%d' % x
        ping(ipv4)
#以多线程的方式执行ping()函数
    for x in range(1,101):
        ipv4 = '192.168.4.%d' % x
        # 创建一个线程,执行ping 函数
        t = threading.Thread(target=ping, args=(ipv4,))
        t.start()

[root@dc python]# python3 ping.py
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告类型管理页面显示所有任务资讯公告类型,在此页面既可以让管理员添加新的任务资讯公告信息类型,也能对已有的任务资讯公告类型信息执行编辑更新,失效的任务资讯公告类型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值