egmkang

90
获赞数
1
关注数
23
粉丝数
IP 属地广东
2011-10-21 加入
浏览 8.9k

只会C++

1,932 声望|达人
全站排名超越 99.17% 用户
c++
818
c
396
linux
152
python
139
c#
102
个人动态
  • 回答了问题2022-10-08
    机器学习为什么用python,听说python的多线程没有用到多核?
    机器人学习的主要内核都是C++编写的, Python只是提供了交互API. 因为Python学起来简单, 有大量的第三方库可以使用, 在科学计算, 统计等方面有大量的积累, 所以tensorflow, pytorch这些都用Python当外壳, 其实也提供了其他语言的外壳, 但是在开发阶段用的人不是很多. ...
  • 回答了问题2022-07-04
    协程锁的原理是什么?
    python asyncio Lock里面就两个操作, Lock/UnLock.Lock只是把自己塞到wait队列里面去, 如果设置当前状态为lock这个操作是成功的, 那么就唤醒队列的第一个人, 如果不成功就继续await等;UnLock则把当前的状态设置成未lock状态, 然后看尝试从wait队列里面pop一个出来, ...
  • 回答了问题2018-01-26
    2核4GB内存的服务器开socket客户端连接大概能开多少呢?
    按照CPU来估算, 一个CPU一秒能处理的系统调用次数, 大约在10W这个数量级. 俩CPU全跑send/recv, 差不多就是20W, 考虑到还有其他系统调用, 需要打一个折扣.内存的话, 一个Socket链接算8K, 理论上限是50W个, 实际上肯定跑不到.
  • 回答了问题2018-01-26
    关于linux c++ socket 接收缓冲区与发送缓冲区的疑惑
    你调用send的时候, 内核已经告诉你他接收了多少数据, 剩下的数据是需要你保存的.至于内核啥时候有空间让你继续写, 这就需要多路复用, 比如poll/epoll, 有可以写的空间了, 内核会告诉你, 你这时候再去写.至于查询还有多大的缓冲区, 我记得是可以的, 应该是ioctl. 不过...
  • 回答了问题2016-04-26
    如何将linux中的rand_r()在windows下实现?
    首先rand是一个有状态的序列, 你可以理解为数列.而srand是改变这个数列起始状态的函数.srand只需要设置一次, 在程序启动之后设置就行了.
  • 回答了问题2016-04-10
    可以问些面试的问题吗?
    第一需要判断谁负责任? 如果BOSS负责任, 那么在适当情况下, 你可以提出你的建议, 不是必须要提! 如果是你负责, 那么你需要权衡各个方面, 而不是你认为很重要的东西.(人毕竟有缺点, 不可能考虑到各个方面)
  • 回答了问题2016-04-10
    c++使用assert()断言之后,后面的变量所占用的内存是怎么清理的哦?
    没清理, assert实际上没有返回,程序立马就中断了. 程序中断后, 操作系统回收了这个进程的所有资源. 在操作系统的严重, 并不能分辨出来a和"wrong here"到底是什么东西, 无非是一块内存而已.
  • 回答了问题2016-02-01
    如何设置C++string迭代器循环终止条件?
    你遍历的时候去改变这个string, 很可能迭代器已经失效了. 你看看是不是这个问题
  • 回答了问题2016-01-28
    如何使用FreeBSD的系统调用kqueue?
    去看redis的代码,网络那一块代码也非常短,支持kqueue
  • 回答了问题2016-01-18
    如果类的数据成员没有有意义的初始值,仍需要为类提供默认构造函数吗?
    类的构造函数会自动调用成员的默认构造函数, 如果你可以接受这种行为, 就可以不用特别的去手动调用.比如你的代码里面, 不写name("")其实就等于name().
  • 回答了问题2016-01-12
    关于MYSQL的性能问题?
    下面一个性能应该会好一点。1=1会被优化掉,然后in语句貌似不能索引命中。在其他SQL上in语句会索引命中的
  • 回答了问题2016-01-11
    linux c socket编程,通信问题
    不想用epoll, 可以用select, 或者poll 数据量大不大, 数据量不大的话, 不需要先存到文件里面去, 可以直接放到内存里面, 每次读完了, 都去检测一下三块内存数据是否完整
  • 回答了问题2016-01-11
    gcc怎么查看它的默认include路径和库的路径呢?
    {代码...}
  • 回答了问题2016-01-11
    linux 中的MANPATH是什么
    man了一下, 还真有MANPATH. 既然是一个环境变量, 那么添加内容的方式应该跟PATH一样.export MANPATH=$MANPATH:path这里的path是你要添加的路径
  • 回答了问题2016-01-11
    C++ construct源码中 destroy问题
    迭代器有*操作符(返回的是一个引用), 再取地址的话, 就相当于拿到了指针.迭代器本身不等于指针, 可以理解为跟指针类似的东西, 但是并不是. 试着想想, vector的内存是连续的, 那么我用一个指针当迭代器, ++操作符是可以正常工作的; 但是我如果是一个list或者一个map, ...
  • 回答了问题2016-01-06
    如何判断read函数是否完整读完?
    socket实际上是一个流, 流你就没办法判断是不是读完了. 你一次从流里面读取若干个字节, 然后在逻辑层判断包是否完整, 就只能这样做. 所以逻辑层是需要有一个单独的缓冲区的, 用来存放还没有完全解码的包, 等读完整了, 再解码, 释放掉.
  • 赞了回答2016-01-04
    mysql分表疑虑
    看看我的博客吧 [链接] 没必要直接操作DB,User有关数据放在缓存即可,查询缓存。
  • 回答了问题2015-12-31
    linux下面yum安装和源码编译安装的区别?
    版本不一样不是很正常吗. 不过你现在能搞到5.1的MySQL, 不用看, 一定用的是CentOS这种傻逼发行版吧. 不是MySQL 4.1都不错了.
  • 回答了问题2015-12-31
    关于虚拟机中安装虚拟机的问题
    你的虚拟机也有bios, 也要开启虚拟化. Windows 10貌似支持虚拟机中套虚拟机, 其他就不晓得了
  • 回答了问题2015-12-30
    删除数据后Mysql内存占用没有变化
    照你这么说, 我有1Y条数据, 我得买一个一两百T内存的机器才能用???你能分清内存和磁盘么?