zoukankan      html  css  js  c++  java
  • 线程多线程百度公开课 linux后台服务开发 笔记整理

    发一下牢骚和主题无关:

        昨晚听完百度校园公开课,还得了个保温杯,好开心.

        当初把抄到的笔记整理下,货色不会很具体,但充足引出很多知识点

        感谢运维部的颜工来湖大授课!

        

        1 周游linux

        一些经常使用的linux命令: ssh cd pwd ls tab mkdir rm cp mv cat more less 

        文本处理:head tail cat sort diff grep sed awk

        重定向: | > >>

        其它: alias find scp wget ps top vmstat netstat  watch

        vim

        gcc 版本我特地问了 ,本来他们部门在用3.4.5版本

        gcc常见错误:

        underfind reference 找不到库 -l库名 -L库目录   

        no such file or directory  找不到头文件 -I 头文件路径 (i的大写)

        项目管理工具: Makefile 还有开源的Autoconf 百度的Commake

        经常使用开发工具:valgrind strace Ltrace ccov Gtest

        

        2 多线程

        多线程:共享内存空间

        长处:数据访问方便 缺点:线程问题会影响团体,线程安全问题

        每日一道理
    心是一棵树,爱与希望的根须扎在土里,智慧与情感的枝叶招展在蓝天下。无论是岁月的风雨扑面而来,还是滚滚尘埃遮蔽了翠叶青枝,它总是静默地矗立在那里等待,并接受一切来临,既不倨傲,也不卑微。
      心是一棵树,一个个故事被年轮携载;一回回驿动与飞鸟相约;一次次碰撞使它绵密柔韧;一幕幕经历造就了它博广的胸怀。心是一棵树,独木不成林。因此,树与树既独立又相联,心与心既相异又相亲。

        多进程:独立内存空间 

        

        线程切换有开销

        开几个线程的要点:线程数不要超过CPU个数

        线程安全问题:线程调度的前后是由操作系统决定的,和代码复杂度无关

        互斥与同步: (1)访问同一个资源,应用互斥锁程序的串行 (2)应用条件变量坚持同步

        开销: 锁比运算要慢,但比磁盘IO要快

        锁的应用原则:

        IO密集型程序:不要让高速设备等待低速设备

        CPU密集型程序:放大锁的粒度,减少锁的应用

        

        线程池模型:

        (1)单队列:无序,池中的线程能够运行任何任务,能够最大化利用CPU

        (2)多队列:某些任务只能由特定的线程来运行,这个须要负载均衡

        

        3 高性能网络编程

        网络编程中有很多慢的地方

        accept() 在等待

        recv() 在等待

        send() 在发送到网卡时 在空转

        

        (1)多线程同步IO设计模式

        效率低 用于原理验证

        (2)单线程异步IO设计模式 (单核时期最快)

        线程和多线程

        线程和多线程

        

        (3)多线程异步IO模式 多进程异步IO模式 :充分发挥多核优势

        

        4多机系统和分布式系统

        有点累, 没抄笔记 

    文章结束给大家分享下程序员的一些笑话语录: 有一天,一个男人穿越森林的时候,听到一个细微的声音叫住他。他低头一看,是一只青蛙。
    “如果你亲我一下,我会变成一个美丽的公主哦。”男人一言不发,把青蛙捡起来,放入口袋。
    “如果你亲我一下,我会变成一个美丽的公主哦。而且,我会告诉我遇到的每一个人,你是多么聪明和勇敢,你是我的英雄。”男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
    “如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一星期。”男人又把青蛙拿出来,对着它微微一笑,把它放回口袋。
    “如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一年,而且你可以对我做任何事。”再一次,男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
      最后,青蛙无力地问:“我开出了这么好的条件,为什么你还不肯吻我?”男人说:“我是一个程序员,我可没时间和什么公主鬼混。不过,拥有一个会说话的青蛙,倒是蛮酷的。”

  • 相关阅读:
    DripRoad(点滴之路)
    如何写优雅的代码
    .Net 一直在改变
    Protobufnet的完美解决方案
    关于msgpack序列化后的消息包是否再压缩
    失眠
    创建一个比微软性能更好空间更少的GUID
    msgpack与protobuf的简单性能测试对比
    分布式游戏服务器的登陆流程
    对象池的实现与性能测试
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3085838.html
Copyright © 2011-2022 走看看