自定义博客皮肤

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

交叉引用造成内存丢失?动手试试吧

最近看了一些网上的文章各种详解、解剖Java GC,告诫我们要怎么避免内存丢失。我觉得很奇怪,.Net虚拟机已经多少年了,这种东西难道不应该虚拟机直接帮我们解决的吗?一时兴起,动手试了一下。果然结果如我所预料,我不知道过去的JVM是什么样,现在的应该是和.Net虚拟机一样先进了。 废话少说,直...

2017-08-02 11:33:15

阅读数 327

评论数 0

WebRTC源代码探索之旅——多线程篇(7 - 2)

7.2 范例代码1   这里先让我们看一段网上摘录的代码:   #include #include #include "talk/base/thread.h" class HelpData : publictalk_base::MessageData { pub...

2014-08-16 16:03:10

阅读数 1043

评论数 0

WebRTC源代码探索之旅——多线程篇(6 - 3)

6.4 talk_base::AutoThread   该类是一个工具类,它的主要功能是临时封装一个线程。用户的应用程序自行调用了系统API创建了一个线程,而这条线程需要临时使用一下talk_base::Thread的功能,比如调用另一个线程talk_base::Thread::Send并阻塞...

2014-08-16 11:51:59

阅读数 1131

评论数 1

WebRTC源代码探索之旅——多线程篇(6 - 2)

6.3 talk_base::Thread   talk_base::Thread的主要功能是封装线程,为线程提供消息队列和多路信号分离器的功能。需要注意的是,talk_base::Thread的绝大多数功能是talk_base::MessageQueue和talk_base::Physica...

2014-08-16 10:59:45

阅读数 1514

评论数 0

WebRTC源代码探索之旅——多线程篇(8)

8 我们所学到Linux API   通过详尽地阅读WebRTC的线程模型代码,我们学到了以下这些Linux API是如何被实际应用的: pthread_mutex_init、pthread_mutex_destroy、pthrea_mutex_lock、pthread_mutex_tryl...

2014-08-15 22:24:56

阅读数 897

评论数 0

WebRTC源代码探索之旅——多线程篇(7 - 3)

7.3 范例代码2   范例代码1是一个单线程的例子,所以并不能够足以研究WebRTC在多线程环境下的工作情况。因此,在这个例子的基础上,我把它改良成了多线程的版本: #include #include #include "talk/base/thread.h"...

2014-08-15 22:21:40

阅读数 1011

评论数 1

WebRTC源代码探索之旅——多线程篇(7 - 1)

7 实际使用WebRTC的线程模型   在这一章节我将实际演示如何将WebRTC的/trunk/talk/base目录下的所有文件编译成静态库。并且在这基础上编译运行2个小程序,以观察整个线程模型的调用关系。这将能够很好地帮助读者理解各个模块是如何协同工作的。   7.1 编译静态库  ...

2014-08-15 22:17:46

阅读数 1008

评论数 0

WebRTC源代码探索之旅——多线程篇(6 - 1)

6 thread   thread.h/thread.cc文件实现了WebRTC对系统线程的封装。它主要包括3个类talk_base::ThreadManager类、talk_base::Thread类和talk_base::Runnalbe类;以及几个工具类talk_base::AutoTh...

2014-08-15 20:33:18

阅读数 1142

评论数 0

WebRTC源代码探索之旅——多线程篇(5 - 4)

5.9 talk_base::PhysicalSocketServer   如果说talk_base::MessageQueue是多路信号分离器的外围,那么talk_base::PhysicalSocketServer就是多路信号分离器的真正核心。talk_base::PhysicalSock...

2014-08-15 17:22:03

阅读数 2027

评论数 0

WebRTC源代码探索之旅——多线程篇(5 - 3)

5.4 talk_base::PosixSignalHandler   talk_base::PosixSignalHandler和talk_base::PosixSignalDispatcher这两个类只有Linux版本。并且在整个WebRTC的源代码中没有任何地方使用过这两个类。因此,对它...

2014-08-15 17:17:12

阅读数 1020

评论数 0

WebRTC源代码探索之旅——多线程篇(5 - 2)

5.3 talk_base::EventDispatcher   talk_base::EventDispatcher类实现了跨平台的等价于Win32自动重置(autoreset)WSAEvent的功能。在Windows平台上有网络多线程开发经验的读者应该很熟悉WSAEvent,我就不再多做介...

2014-08-15 17:11:52

阅读数 1004

评论数 1

WebRTC源代码探索之旅——多线程篇(5 - 1)

5 physicalsocketserver   physicalsocketserver.h/physicalsocketserver.cc文件实现了一个基本的多路信号分离器。这个多路信号分离器的实现代码可以横跨Windows、Linux、OSX、Android、ios等平台,非常复杂。其实...

2014-08-15 17:09:25

阅读数 1432

评论数 2

WebRTC源代码探索之旅——多线程篇(4 - 2)

4.4 talk_base::MessageQueue   现在我们正式进入多线程篇最为激动人心的部分——多路信号分离器的消息队列组件。WebRTC的多路型号分离器由2部分组成:消息队列和talk_base::SocketServer(主要实现就是talk_base::PhysicalSock...

2014-08-15 17:03:08

阅读数 1472

评论数 0

WebRTC源代码探索之旅——多线程篇(4 - 1)

4 messagequeue   messagequeue.h/messagequeue.cc文件是多路信号分离器的重要组成部分。它实现了消息一个完整地消息队列,该队列包括立即执行消息队列、延迟执行消息队列和具有优先级的消息队列。其中,talk_base::MessageQueue类也是tal...

2014-08-15 16:56:35

阅读数 1227

评论数 1

WebRTC源代码探索之旅——多线程篇(3)

3 messagehandler   messagehandler.h/messagehandler.cc文件仅仅定义了talk_base::MessageHandler类,和一个模板工具类talk_base::FunctorMessageHandler类。   3.1 talk_base...

2014-08-15 16:54:06

阅读数 1222

评论数 0

WebRTC源代码探索之旅——多线程篇(2)

2 crticalsection   criticalsection.h/criticalsection.cc文件中包含了3个类talk_base::CriticalSection、talk_base::CritScope和talk_base::TryCritScope。这3个类对于有多线程编...

2014-08-15 10:12:28

阅读数 1157

评论数 0

WebRTC源代码探索之旅——多线程篇(1)

随着CPU频率接近物理极限,多芯片、多核几乎成为了加速软件运行速度的唯一选择。与之相应地,多线程、异步编程以及并发编程成为了软件开发人员的必修课。因此,各种各样的开发框架不断涌现。在C++领域,boost的thread库等优秀的多线程框架也是其中的代表。特别是针对socket网络编程的boost....

2014-08-15 10:01:52

阅读数 2800

评论数 0

WebRTC源代码探索之旅(前言)

前言   最近要找工作,发现某美国硅片巨头正在招聘WebRTC相关开发工程师,非常感兴趣。所以决定深入研究一下WebRTC的源代码。   其实,前一阵子就下载过WebRTC的源代码,发现非常适合我的“口味”。这是我第一次看到在Linux系统上实现类似Win32风格的多线程编程。过去看到的有...

2014-08-15 09:49:02

阅读数 1487

评论数 0

提示
确定要删除当前文章?
取消 删除