文章分类 -  网络编程

1

内存中的堆、栈
摘要:浅析栈区和堆区内存分配的区别 以下是对栈区和堆区内存分配的区别进行了详细的分析介绍,需要的朋友可以过来参考下 一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情 阅读全文

posted @ 2019-05-27 15:36 myworldworld 阅读(98) 评论(0) 推荐(0) 编辑

网络编程十一:线程间的通讯
摘要:总结,线程间的同步的五种方式: Event,Lock,Condition,Barrier,Semaphore 除了以上五种同步方式,解决共享资源,同步的问题。 python还提供专有的线程之间的通讯,可以解决共享资源,同步的问题。 一、queue队列 queue的优点: queue是一个先进先出的容 阅读全文

posted @ 2018-12-11 22:40 myworldworld 阅读(82) 评论(0) 推荐(0) 编辑

网络编程十:线程间的同步之信号量
摘要:总结: 当连接池只有剩下一个连接时,多个连接请求的问题 多个线程同时请求连接的争夺资源时侯,需要线程间的同步 可以用锁解决以上问题,但在这种情形下,使用信号量更好。 获取连接的时侯,加锁;释放连接的时侯,释放锁。 测试用例:创建最大值为3的连接池,创建5个线程从连接池中争夺连接。 结果:worker 阅读全文

posted @ 2018-11-04 18:01 myworldworld 阅读(142) 评论(0) 推荐(0) 编辑

网络编程九:线程间的同步之barrier栅栏
摘要:总结: event:用于线程之间的事件通知。 比如,一个线程调用wait方法阻塞,等待事件的发生,另一个线程调用set方法通知事件已发生;wait线程,收到事件发生的通知后,释放阻塞。 可见,多个线程之间必须使用相同的event事件对象。 lock、rlock:用于对共享资源的读写保护。 所有同步方 阅读全文

posted @ 2018-11-04 16:54 myworldworld 阅读(523) 评论(0) 推荐(0) 编辑

网络编程八:线程间的同步之condition通知等待
摘要:一、condition:通知等待 有一类线程需要满足条件之后才能够继续执行。 condition条件变量,除了提供RLock()或Lock()的方法(如acquire,release)外,还提供了 wait()、notify()、notifyAll()方法。 acquire():加锁 release 阅读全文

posted @ 2018-11-04 15:13 myworldworld 阅读(158) 评论(0) 推荐(0) 编辑

网络编程七:线程间的同步之lock锁
摘要:一、锁lock 线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。 互斥锁为资源引入一个状态:锁定/非锁定。 某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改; 直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能再次锁定该资源。 互斥 阅读全文

posted @ 2018-11-03 18:14 myworldworld 阅读(342) 评论(0) 推荐(0) 编辑

网络编程六:线程间的同步之event事件
摘要:5个worker线程,一个boss线程:当worker执行完成后,通知boss线程,将告知它的执行时长。 要实现此功能,需要线程间的同步。 一、同步方式一:事件event wait方法,阻塞线程,直到set方法被调用。clear方法,重置event事件。 假设现在的需求是:有任何一个worker线程 阅读全文

posted @ 2018-11-03 18:07 myworldworld 阅读(358) 评论(0) 推荐(0) 编辑

网络编程五:多线程
摘要:一、并发 并发:假同时。一段时间内,同时处理多个任务;如果是单CPU处理,则是单CPU轮询,轮流处理多个任务;如果是多个CPU同时处理,每个CPU轮询上轮流处理多个任务,CPU与CPU之间并行处理多个任务。 并行:真同时。同时处理多个任务,必须要多核,多个CPU同时处理多个任务,一个CPU处理一个任 阅读全文

posted @ 2018-11-03 15:35 myworldworld 阅读(104) 评论(0) 推荐(0) 编辑

网络编程四:协程
摘要:子程序/子函数:在所有语言中,都是层级调用。 比如函数A调用B,在B执行的过程中又调用C;C执行完毕返回,B执行完毕返回,最后是A执行完毕。 这个过程是通过栈实现的,一线程就是执行一个子程序,子程序调用总是一个入口一次返回,调用的顺序是明确的 协程:看上去也是子程序,像上面的调用过程,但在执行过程中 阅读全文

posted @ 2018-11-03 09:29 myworldworld 阅读(97) 评论(0) 推荐(0) 编辑

网络编程三:多线程、锁、threadlocal、事件、队列
摘要:一、多线程 在一个进程的内部,要同时做多件事,就需要同时运行多个“子任务”,把进程内的这些“子任务”叫做线程。 线程,是共享内存空间的并发执行的多任务。 线程,是在进程里开启的,每一个线程都共享同一个进程的资源;线程是没有堆栈的,进程才有。 线程是最小的执行单元,进程由至少一个线程组成。如何调度进程 阅读全文

posted @ 2018-10-28 17:23 myworldworld 阅读(257) 评论(0) 推荐(0) 编辑

网络编程二:并发、多进程、多进程间的通信
摘要:一、并发 操作系统同时运行多个任务。 单核CPU实现多任务的原理:操作系统轮流让各个任务交替执行 QQ执行2us,切换到微信执行2us,再切换到陌陌执行2us............实际上是每个任务在轮流反复执行,但是因为cpu调度执行速度太快了,导致我们感觉所有任务都在同时运行。 多核CPU实现多 阅读全文

posted @ 2018-10-28 11:13 myworldworld 阅读(154) 评论(0) 推荐(0) 编辑

网络编程一:IP数据包、七层网络模型、TCP/IP协议
摘要:一、IP数据包 包头,由20字节组成: 4位ip版本标识(如ipv4,ipv6),4位首部长度(internet头长度),8位服务类型TOS,16位总长度字节数....共4字节; 16位标识(用于标识数据报的分段),3位分段标识(标识报文是否允许被分段和是否使用了这些域),13位分段偏移....共4 阅读全文

posted @ 2018-10-28 10:14 myworldworld 阅读(816) 评论(0) 推荐(0) 编辑

文件锁和Python多线程的使用
摘要:1.文件锁 问题:进程P1中有一个线程T1,T1执行的函数为f1;进程P2中有一个线程T2,T2执行的函数为f2。 当f1和f2都需要对同一个资源进行操作时,比如同时对文件file1进行操作。为了线程安全,则当f1在操作(读或写文件file1)时,不允许f2操作(读或写文件file1)。反之,当f2 阅读全文

posted @ 2017-09-06 00:44 myworldworld 阅读(345) 评论(0) 推荐(0) 编辑

多线程写文件实例
摘要:Python多线程写文件实例 博客分类: Python 多线程python 由于最近一段时间,学了一门脚本语言-Python,原因是一、公司需要;二、只掌握Java感觉还是不够。 由于需要用python分析日志,但是日志实际还没有,格式已经定了,所以我先用python写了个多线程写文件的工具,比较简 阅读全文

posted @ 2017-09-06 00:41 myworldworld 阅读(3030) 评论(0) 推荐(0) 编辑

多线程读写文件加锁与不加锁
摘要:1、实现文件读写的文件ltz_schedule_times.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 阅读全文

posted @ 2017-09-06 00:38 myworldworld 阅读(3647) 评论(0) 推荐(0) 编辑

多线程
该文被密码保护。

posted @ 2017-09-06 00:27 myworldworld 阅读(0) 评论(0) 推荐(0) 编辑

select与epoll的区别
摘要:流:一个流可以是文件、socket、pipe 等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 I/O操作:I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。 阻塞: 现在假定一个情形,我们需要从流中读数据,但是流中 阅读全文

posted @ 2017-01-22 17:07 myworldworld 阅读(715) 评论(0) 推荐(0) 编辑

select与epoll的区别
摘要:epoll和select区别 先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法 一、问题引出 联系区别 问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足 阅读全文

posted @ 2016-12-11 20:15 myworldworld 阅读(351) 评论(0) 推荐(0) 编辑

转 我的理解多路复用select epoll poll
摘要:从开始学习编程后,我就想开一个 Hello World 餐厅,由于一开始资金不足,所以只能开一个古老的小客栈。 客栈运营了几天,我发现我们的客栈存在着一个问题 我们的厨师只负责炒菜,炒好了放在一边继续炒其他菜,所以店小二必须经常进出厨房,一方面看看菜到底炒好了没有,如果炒好的话,就要把菜端出来,另一 阅读全文

posted @ 2016-09-06 17:35 myworldworld 阅读(83) 评论(0) 推荐(0) 编辑

转 三种多路复用IO实现方式:select,poll,epoll的区别
摘要:基础概念: 1.socket这个词可以表示很多概念,在TCP/IP协议中“IP地址 + TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP + 端口号”就称为socket。在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么两个socket组成的socket pair就唯一标 阅读全文

posted @ 2016-09-06 17:34 myworldworld 阅读(248) 评论(0) 推荐(0) 编辑

1

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示