-
linux网络编程----->高并发--->epoll多路I/O转接服务器
由于多进程和多线程模型在实现中相对简单, 但由于其开销和CPU高度中比较大, 所以一般不用多线程和多进程来实现服务模型. select由于其跨平台, 但其最高上限默认为1024, 修改突破1024的话需要重新编译linux内核, poll虽然解决了select1024的限制, 但由于poll本质实现上也是轮循机制, 所以对于客户端的增加也会使效率降低. 本章来详细介绍epoll多路I/O转发服务器模型.
-
linux网络编程----->高并发--->poll多路I/O转接服务器
由于多进程和多线程模型在实现中相对简单, 但由于其开销和CPU高度中比较大, 所以一般不用多线程和多进程来实现服务模型. select由于其跨平台, 但其最高上限默认为1024, 修改突破1024的话需要重新编译linux内核, poll完美解决了1024的限制.
-
linux网络编程-----实现并发访问网站------
C语言简单的方法实现并发访问网站
-
linux网络编程----->高并发--->select多路I/O复用服务器
使用select多路I/O转接服务器模型要考虑到以下几点:
1. select能监听的文件描述符个数受限于FD_SETSIZE, 一般为1024, 单纯改变进程打开的文件描述符个数并不能改变select监听文件个数
2. 解决1024以下客户端请求使用select是很合适的, 但如果链接客户端过多, select采用的是轮询模型, 会大大降低服务器响应效率, 不应在select上投入更多精力.
-
linux网络编程----->高并发--->多线程并发服务器
做网络服务的时候并发服务端程序的编写必不可少。前端客户端应用程序是否稳定一部分取决于客户端自身,而更多的取决于服务器是否相应时间够迅速,够稳定.
-
linux网络编程----->项目管理工具----->Makefile
在linux下不管写C还是C++,文件少的时候我们可以通过单个编译成执行文件来完成,但文件多了,特别是一个文件因为调用了别一个文件的函数而需要包含编译时,那时单独编译就显得十分费劲了,这时候不得不得项目管理工具----->Makefile.
-
linux网络编程----->高并发--->多进程并发服务器
在做网络服务的时候并发服务端程序的编写必不可少。前端客户端应用程序是否稳定一部分取决于客户端自身,而更多的取决于服务器是否相应时间够迅速,够稳定.
-
linux网络编程----->线程同步-->信号量
信号量又称进化版的互斥锁----> 互斥锁只能同时有一个线程进行访问,而信号量可以同时有N个线程同时进行.
由于互斥锁的粒度比较大,如果我们希望在多个线程间结某一对象的部分数据进行共享,使用互斥锁是没有办法实现的,只能将整个数据对象锁住.这样虽然达到了多线程操作共享数据时保证数据正确性的目的,却无形之中导致线程的并发性下降.线程从并行执行,变成了串形执行.与直接使用单进程无异.
-
linux网络编程----->线程同步-->条件变量
条件变量本身不是锁! 但它可以造成阻塞.通常与互斥量(互斥锁)一起使用,给多线程提供一个会合的场所.给互斥量(互斥锁)一层包装.
-
linux网络编程----->线程死锁
多线程开发时, 在访问共享资源前加锁,访问结束后立即解锁。锁的“粒度”应越小越好
-
linux网络编程----->线程同步-->互斥量和读写锁
线程同步指在一定的时间里只允许某一个进程访问某个资源,而在此时间内,不允许其它线程对该资源进行操作.
-
自己动手实现linux-->Shell
自己实现Shell,运用简单的技术,实现强大的功能.
-
linux网络编程---------信号大讲堂
linux系统中无时无该产生着信号.信号在linux上又称软件中断,用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。信号机制除了基本通知功能外,还可以传递附加信息。
-
linux操练之---------vi/vim去除历史查找结果高亮显示
由于最近开始从事linux系统方面工作,经常使用到vi/vim,对vim的操作有了一定的时间后,开始了高频率的使用vim的各种快捷键,当然不能少了vim里面强大的查找和替换功能. 在命令模式下,要搜索文件里的特定内容,比如"hello world",就直接输入/hello world,此时vim会把所有能
-
linux网络编程之面试题----------统计目录下所有目录和文件个数
实现linux下tree的单一功能[只打印目录个数和文件个数(不包含隐藏文件)]
-
linux网络编程之-----基础理论篇
学习linux网络编程首要掌握的基本概念