FuckingCode

-安卓系统- -源码分析- -linux编程- -设计模式-


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

源码分析之Handler、Looper及MessageQueue之间关系

发表于 2019-04-09 | 更新于 2019-04-10 | 分类于 源码分析
本文字数: 53k | 阅读时长 ≈ 48 分钟

在 Android 的应用开发中,线程之间的通信机制主要是以 Handler 机制为主。我们都知道 Android 中的 UI 更新只能在主线程中执行,通常的做法是,我们在 Activity 中直接 new Handler,通过 handler 发送消息,在 handlerMessage 处理即可。本篇博文就根据源码来具体分析其中工作机制以及源码架构。

阅读全文 »

Linux系统编程之多路IO转接服务器

发表于 2019-01-23 | 分类于 Linux
本文字数: 21k | 阅读时长 ≈ 19 分钟

本章节主要介绍Linux中高并发服务器下的三种多路IO转接模型:select,poll,epoll。各模型分别从原理,系统函数,实现代码三个方面一一说明。文章内容稍有深度,代码理解不易,需要读者结合代码注释以及参考链接内容,反复比较思考。文章最后,对几种多路IO模型的优缺点进行总结,算是对此章节做的收尾工作。

阅读全文 »

Linux系统编程之多进程、多线程并发服务器

发表于 2019-01-21 | 更新于 2019-01-23 | 分类于 Linux
本文字数: 11k | 阅读时长 ≈ 10 分钟

本章节就服务器的开章,仅介绍多进程,多线程下高并发服务器模型的实现。这两种模型实现简单,逻辑清晰,但同时局限性也很大,受限于系统资源以及文件描述符上限等,后续会就多路IO转接服务器进行进一步分析。

阅读全文 »

Linux系统编程之Socket编程

发表于 2019-01-18 | 更新于 2019-01-19 | 分类于 Linux
本文字数: 19k | 阅读时长 ≈ 17 分钟

本章节主要介绍Linux下如何通过系统提供的API接口实现Socket编程。通过结合之前几篇博文中的内容,包括网络基础,TCP/IP模型以及其之间建议通信的链接细节,从理论到代码完整的贯通,毕竟Socket编程的重要性,对于程序员来说不言而喻了。

阅读全文 »

Linux系统编程之TCP/UDP协议

发表于 2019-01-17 | 更新于 2019-01-19 | 分类于 Linux
本文字数: 10k | 阅读时长 ≈ 9 分钟

本章节集中分析网络编程必备知识TCP,UDP数据报格式,熟悉其原理,优缺点以及通信细节,尤其是对于TCP下的三次握手,状态转换,滑动窗口等复杂机制的理解,为后续Socket编程打下牢牢的基础。

阅读全文 »

Linux系统编程之网络基础

发表于 2019-01-16 | 更新于 2019-01-17 | 分类于 Linux
本文字数: 7.2k | 阅读时长 ≈ 7 分钟

本章节主要介绍网络基础知识,包括OSI模型,TCP/IP模型,以太网帧、ARP、IP等协议数据包,TCP/IP三次握手等,集中介绍网络编程中遇到的专业名词,为后续Socket编程以及高并发服务器模型大下基础。

阅读全文 »

Linux系统编程之线程同步

发表于 2019-01-15 | 分类于 Linux
本文字数: 16k | 阅读时长 ≈ 15 分钟

本章节着重介绍多线程下资源同步的问题,之前章节介绍了Linux多线程编程的有关知识,由于多线程下容易产生资源互抢情况,所以必须对共享资源进行统一规划,其涉及到的概念有互斥量,条件变量,信号量,文件锁以及进程间锁。

阅读全文 »

Linux系统编程之线程

发表于 2019-01-14 | 分类于 Linux
本文字数: 15k | 阅读时长 ≈ 14 分钟

本章节介绍Linux下多线程编程方面的知识,涉及到线程和进程的关系,优缺点,线程基础背景,线程原语以及线程属性等方面内容,后续还会进阶的介绍多线程而引申出来的线程同步问题。让我们更加清晰的了解到多线程编程带来的魅力。

阅读全文 »

Linux系统编程之守护进程

发表于 2019-01-14 | 分类于 Linux
本文字数: 8.5k | 阅读时长 ≈ 8 分钟

本章节介绍Linux系统中特殊的进程-守护进程(Daemon),其类似于安卓中后台服务的存在,生存周期足够长,能够长期运行于后台,周期的执行某些任务或事件。其次,在介绍守护进程模型之前,我们还需要了解进程间几个重要的概念,例如控制终端、进程组和会话等。

阅读全文 »

Linux系统编程之信号后记

发表于 2019-01-10 | 分类于 Linux
本文字数: 4.4k | 阅读时长 ≈ 4 分钟

前面两章节基本将Linux系统下信号知识都介绍了一遍,这里对信号机制进行补充。虽然信号给我们编程带来了极大的方便,但是其原则还是异步操作,内核在调度进程上不可能像我们预期想象的那样运行,因此会额外带来其他问题,这里就进行统一的阐述。

阅读全文 »

12…8
Allies

Allies

一位由安卓应用向系统底层进阶的开发者。在这里,开始自己的打怪升级之路。Just do it!
75 日志
17 分类
59 标签
RSS
GitHub 微博 邮箱 掘金
Creative Commons
© 2017 – 2019 Allies | 693k | 10:30
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Pisces v7.1.0