![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
不就是刚吗!!!
stay hungry,stay foolish
展开
-
C语言三个线程轮流打印数字(顺序打印)
题目:三个线程轮流打印数字,从0开始,其中:线程1打印:0,3,6----线程2打印:1,4,7----线程3打印:2,5,8----以此类推在博客看到很多都是用Java和c++实现的,我想用c+来实现一下。下面看代码;#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#i...原创 2019-07-27 15:36:52 · 3641 阅读 · 0 评论 -
两个线程同时对同个内存变量调用了i++ 100次,结束后i值可能的变化
有很多博主说是200,这没错,确实有可能是200,但是!首先,i++的操作并不是单独的一条指令,他实际在内部是由三条指令构成的1.首先,他把i的值从CPU寄存器中拿出来2.然后,把寄存器中的值+13.最后,把寄存器写回到内存中在单核CPU中:他需要执行:100*2 *3 = 600条指令,每条指令都有可能被抢夺CPU,这就是问题的关键所在首先结论是:最小为100,最大为200为...原创 2019-07-20 15:28:39 · 3269 阅读 · 3 评论 -
TCP三次握手,四次挥手(详解及图解)
我们知道TCP是面向连接的传输层协议。TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。所以,运输连接就有三个阶段,即:连接的建立,数据传送和连接的释放。TCP连接的建立TCP建立连接的过程叫做握手,握手需要在客户和服务器之间交换三个TCP报文,以下就是TCP建立连接的三报文握手:three way(three message)handshake,也称之为三次握手。假...原创 2019-07-17 22:45:16 · 910 阅读 · 0 评论 -
readn,writen和readline函数
为什么需要这个函数在字节流套接字上调用read或者write输入或输出的字节数可能比请求的数量少,然而这不是出错的状态。这个现象的原因在于内核中用于套接字的缓冲区可能已经到达了极限。这个时候所需的是调用者再次调用read或write函数,以输入或输出剩余的字节。有些版本的Unix在往一个管道中写多余4096字节的数据时也会表现出这样的行为。这个现象在read一个字节流套接字时很常见,但是在wr...原创 2019-07-15 23:08:38 · 473 阅读 · 0 评论 -
大小端模式
首先先了解一下什么是大端和小端。小端:将低序字节存储在起始地址,这称为小端字节序。通俗理解就是:低字节–低地址大端:将高序字节存储在起始地址,这称为大端字节序。即:高字节–低地址例如:我们将0x12345678写入从0x0000开始的内存中,则结果为其实X86系列的CPU都是小端字节序但是我们怎么知道一个数在计算机中是以大端序列存储还是以小端序列存储的呢?下面给出两种方式来求出数据在...原创 2019-07-14 21:33:01 · 719 阅读 · 0 评论