阐述linux网络编程(socket)接口容易出现误解的知识点,动手实践过才能总结出来。...
分类:
其他好文 时间:
2014-06-24 18:11:33
阅读次数:
190
在unix系统中对大部分系统调用非正常返回时,通常返回值为-1,并设置全局变量errno,如socket(), bind(), accept(), listen()。erron存放一个正整数来保存上次出错的错误值。
对线程而言,每个线程都有专用的errno变量,不必考虑同步问题。
慢系统调用
指可能永远阻塞而无法返回的系统调用,通常是一些读写的例子,如pipe,终端设备,网络连接,典...
分类:
系统相关 时间:
2014-06-19 10:35:23
阅读次数:
337
相对于使用进程实现并发,用线程的实现更加轻量。每个线程都是独立的逻辑流。线程是CPU上独立调度运行的最小单位,而进程是资源分配的单位。当然这是在微内核的操作系统上说的,简言之这种操作系统的内核是只提供最基本的OS服务,更多参看点击打开链接
每个线程有它自己的线程上下文,包括一个唯一的线程ID(linux上实现为unsigned long),栈,栈指针,程序计数器、通用目的寄存器和条件码,...
分类:
编程语言 时间:
2014-06-16 12:28:38
阅读次数:
296
首先是fork()函数,比较清晰的解释可以参考http://blog.csdn.net/lingdxuyan/article/details/4993883和http://www.oschina.net/question/195301_62902...
分类:
系统相关 时间:
2014-06-16 12:19:31
阅读次数:
248
进程线程分配方式
简述下常见的进程和线程分配方式:(好吧,我只是举几个例子作为笔记。。。并发的水太深了,不敢妄谈。。。)
1、进程线程预分配
简言之,当I/O开销大于计算开销且并发量较大时,为了节省每次都要创建和销毁进程和线程的开销。可以在请求到达前预先进行分配。
2、进程线程延迟分配
预分配节省了处理时的负担,但操作系统管理这些进程线程也会带来一定的开销。由此,有个折中的方法是,当某个...
分类:
编程语言 时间:
2014-06-16 11:45:38
阅读次数:
480
多线程代码被加入到mini-muduo,本篇主要介绍Linux多线程编程的5个类
1 Mutex
2 Condition
3 BlockingQueue
4 Thread
5 ThreadPool...
分类:
编程语言 时间:
2014-06-15 19:23:00
阅读次数:
348
多进程和多线程的目的是在于最大限度地利用CPU资源,当mou...
分类:
系统相关 时间:
2014-06-14 10:11:38
阅读次数:
402
1、背景
在进行网络编程的时候,通常使用的协议有TCP协议,UDP协议。这些协议在简历套接字之初需要制定套接字的类型,比如TCP应当设置为
SOCK_STREAM,UDP对应的套接字应当设置为SOCK_DGRAM。但是这些套接字并非能够提供网络所需的全部功能,我们还需要其他的套接字,比如原始套接字....
分类:
系统相关 时间:
2014-06-12 14:54:32
阅读次数:
576
一、多播介绍什么是多播?
单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。多播,也称.....
分类:
系统相关 时间:
2014-06-11 22:16:28
阅读次数:
491