V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  linyinma  ›  全部回复第 2 页 / 共 4 页
回复总数  78
1  2  3  4  
2018-08-27 11:00:12 +08:00
回复了 paparika 创建的主题 Linux 这个场景下怎么加锁?
//do something 后是 unlock
2018-08-27 10:59:21 +08:00
回复了 paparika 创建的主题 Linux 这个场景下怎么加锁?
创建两把锁:

A () {
lock(lck1);
lock(lck2);

//do something

lock(lck2);
lock(lck1);

}

B() {
lock(lck1);

//do something

lock(lck1);
}

C() {
lock(lck2);

//do something

lock(lck2);
}
2018-08-16 09:26:23 +08:00
回复了 javaCoder 创建的主题 程序员 Disruptor 了解一下,单线程却拥有多线程无可比拟的性能
很显然,单核情况下,单任务性能是最高的(为什么呢?没有多任务切换带来的损失),多任务是提高 CPU 利用率,如果有任务发送阻塞,操作系统将 CPU 交个其他任务(当然调度不是这么简单,这边只是表达设计多任务的目的),假如应用设计优秀,所有调用都非阻塞,让 CPU 一直工作,显然效率是多线程无可比拟的,这也是为什么类似 NGINX 高效的原因所在;
2018-07-23 17:53:34 +08:00
回复了 darren2900 创建的主题 程序员 大数据如何快速过滤????
[这种问题最好还是和需求结合起来说明]
如果单纯说算法这是很简单的将 1000W 条数据从 MySQL 导出创建 bitmap 索引,查询算法就是 O ( 1 ),这是最快的
神逻辑,你将协议 与 内核协议栈实现混这说,你的描述说错也没错,但就是不是那么回事,比如你说整个机器接受窗口,是否是平群分配.... 首先网卡接收到的数据存放到内核缓冲区内(的却也只有一个),然后内核缓冲区存放的数据根据 TCP 信息将数据移动到具体的某一个 TCP 连接上的接收缓冲区内,也就是接收滑动窗口内, 滑动窗口也不可能向你说的什么平均分配,socket 频繁的创建,按照你的思路内核一直在做平群工作...

而窗口大小是由内核决定也可以修改比如:net.ipv4.tcp_rmem:这个参数定义了 TCP 接收缓冲(用于 TCP 接收滑动窗口)的最小值、默认值、最大值
CPU 亲和性设置

/* API */
/* Set the CPU affinity for a task */
int sched_setaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask);
/* Get the CPU affinity for a task */
int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask);

/* set CPU affinity attribute in thread attributes object */
int pthread_attr_setaffinity_np(pthread_attr_t *attr, size_t cpusetsize, const cpu_set_t *cpuset);
/* get CPU affinity attribute in thread attributes object */
int pthread_attr_getaffinity_np(const pthread_attr_t *attr, size_t cpusetsize, cpu_set_t *cpuset);

/* set CPU affinity of a thread */
int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize, const cpu_set_t *cpuset);
/* get CPU affinity of a thread */
int pthread_getaffinity_np(pthread_t thread, size_t cpusetsize, cpu_set_t *cpuset);
2018-07-03 16:17:29 +08:00
回复了 cnmllll 创建的主题 北京 有没有程序员接私活的网站?
@cnmllll 来来我来接,私聊 VX:VGFuZ0Zvckw=
“五点多就开始写不动代码了” 一般公司是 5:30 或 6:00 下班 5 点以后应该写日报做总结看新闻....

收拾打道回府啊~~
2018-06-29 16:34:08 +08:00
回复了 xionghongzhi 创建的主题 Java 谁来帮忙分析一下,外网上传文件失败具体的原因和解决方法.
网络拓扑,通讯协议什么都没描述,请问怎么给你分析?
2018-06-25 17:11:03 +08:00
回复了 ashin 创建的主题 问与答 nginx 的高可用架构除了 keepalived 以外还有其他方案吗?
你的问题( NGINX 的“高可用”方案)已经限制答案,集群中的高可用都是使用 虚拟冗余路由协议( keepalived 的实现),当然如果是非集群简单看门狗也能实现高可用(这种服务器挂了也就说不是什么高可用);
2018-06-25 11:45:19 +08:00
回复了 zjsxwc 创建的主题 程序员 如何篡改浏览器的网页内容
针对性搜索一下具体浏览器如何修改 user-agent:

如搜索 “设置 Chrome user-agen ” ,手把手教你如何设置
神一样的代码,头文件包含函数,main 函数实现所有逻辑,能不能稍微模块化一下
其实我非常讨厌楼主这种说法,在任何有历史的公司不可能 [随便] 从一种技术 /工具迁移到另一种,太过随便就是不负责任,在公司产品维护过程中涉及到 [一系列] 工具 版本管理、需求跟踪,BUG 维护.... SVN 工具只是产品维护链中需要的一种工具而已,这个链上的工具都是配套的,如果中间某一个环节被替换了可能会影响整个工具链;

而且强调一下:SVN Vs Git 毫无意义,任何东西都是与之环境想匹配,孤立谈一个东西好坏,那是小孩子干的事~
明显水压过高,而且不稳定,忽高忽低,造成水在水管壁摩擦产生嗡嗡响;
2018-06-14 16:29:33 +08:00
回复了 Lily0756 创建的主题 Linux [ Linux ] 如何从以下这种形式的 standard output 中过滤结果?
问题其实是由 “管道缓冲 ” 引起并非能是管道后面命令能改变的

当使用命令 'nc 192.168.1.1 端口 ' 你能在终端看到连续打印,是因为终端属性是无阻塞的;

当使用管道接收命令输出时,管道具有缓冲 BUFF,而输出信息并无换行,故一直会阻塞直管道 BUFF 满以后右边的命令才会接收到数据;
@jennifertxwoodma 你说了那么多,什么看书有什么计划, 这些和结婚又不矛盾,别人姑娘着急接,家庭朋友肯定也有意识在催她,你爱她结婚就是一个很正常的事,人之常情的事你都不理解,敢说爱她~~ 我看你就是无所谓,分就分了,不爱就分手就是很正常的事, 但这点事有 B 脸在这儿说,你这种还不叫渣男吗
这种思维方式,互联网在开倒车吧, 小国 和 大国 拥有相当 IP 数量 这公平吗?

本身这个社会隐藏了太多的不公平, 这是要赤裸裸将不公平摆在明面上哈.....
鉴定完毕-楼主渣男一个, 不想结就拜拜,说那么多~~
2018-05-30 09:40:55 +08:00
回复了 nikoo 创建的主题 问与答 为什么修改端口号后仍可保持连接?
@nikoo Q1:也就是一台屏蔽了所有端口仅开放 22 端口的服务器,
SSH 登录上去把 22 端口改到 1234 并且在原 22 端口开一个 nginx,
那么目前这台服务器理论上已和外接彻底隔绝了,用浏览器访问 22 端口也是 nginx 的页面了,
那么为什么没有断开的 ssh 客户端仍然可以操作这台服务器,
这个没有断开的客户端是通过什么方式与服务器进行通信的?

A1: 我不是回答的嘛,socket 通讯 sfd 绑定的一个 5 元组,为什么能绑定成功后因为 地址和端口被复用, 你还在纠结“ SSH 登录上去把 22 端口改到 1234 并且在原 22 端口开一个 nginx ” , 这会 nginx server 那个 socket fd 在内核中只是一个三元组,不影响原先通信;

Q2: 你希望修改 sshd 监听端口后,能关闭已连接的客户端, 说白了就要在内核层面修改状态, 从用户层面么 kill 该链接对应的进程,发生中断
2018-05-29 16:50:48 +08:00
回复了 nikoo 创建的主题 问与答 为什么修改端口号后仍可保持连接?
看了半天都没有一个回答对 涉及两个知识点:

刚开始 SSHD 进程 22 端口处于 LISTENING 状态, 你 ssh 连接中完成 accept 后内核生产新的 socket fd 完成 5 元组绑定{ 协议, 目的地址、目的端口, 本地地址,本地端口},此过程本地地址端口被复用( SO_REUSEADDR ),并且 SSHD fork 产生协同进程( bash,由 /etc/passwd 配置),协同进程继承 SSHD accept 返回的 socket fd ;


在此后的过程中都是和协同进程交换 和 SSHD 办毛子关系都没有
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5400 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 08:30 · PVG 16:30 · LAX 01:30 · JFK 04:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.