python多线程完成udp聊天和tcp聊天服务器

上一次贴出我写的单线程聊天服务器,单线程在服务器上肯定是不能满足需求的,这一次写个多线程的框架,下回再写多进程的把

首先我们了解一下线程和进程的概念和区别问题:


1. 进程: 通俗理解一个运行起来的程序或者软件叫做进程,而线程就是执行代码的分支
1.1 每启动进程都需要向操作系统索要运行资源(内存空间),进程是操作系统资源分配的基本单位, 只有进程把资源准备好了才能让线程执行对应的代码
1.2 默认情况下一个进程会提供一个线程(主线程),线程是依附在进程里面的,没有进程就没有线程,当然进程里面可以创建多个线程

1.3 如何理解进程: 把公司理解成进程,因为公司会提供办公资源(办公电脑,办公桌椅等),真正干活的是员工,员工可以理解成是线程


2. 进程和线程的对比
2.1 进程是操作系统资源分配的基本单位,线程是cpu调度的基本单位,提示:cpu调用某个线程,那么某个线程会执行对应的代码
2.2 先有进程,再线程,线程是依附在进程里面的,没有进程就没有线程,进程索要资源以后让线程执行对应的代码
2.3 默认一个进程会有一个线程,进程里面可以创建多个线程
2.4 进程之间不共享全局变量,但是线程之间共享全局变量,但是要注意资源竞争的问题,解决办法: 互斥锁或者线程同步
2.5 多进程开发比单进程多线程开发稳定性要强,因为某一个进程挂了不会影响其它进程的运行

2.6 多进程开发比单进程多线程开发资源要大,因为每启动一个进程都需要向操作系统索要运行资源,但是线程可以共享进程中的资源

首先贴出udp多任务聊天代码:

import threading
import socket


  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值