Thursday, December 16, 2010

Knowledge Framework - Wisdom + perseverance = omnipotent

 1, ACE concurrent programming: threads and synchronization
the difference between threads and processes;
user threads and kernel threads;
different operating system threading model;
ACE thread management: Thread_Manager;
ACE thread synchronization: ACE_Guard, ACE_Thread_Mutex etc.;
ACE Task Framework: Message_Block,UGG boots, Message_Queue, ACE_Task.
2, ACE Reactor framework
ACE Reactor framework for simplifying event-driven program development, and event-driven network of many application of the basic characteristics of these applications common event sources include I / O event, Posix or Windows handles the signal and the timer expires so excited.
on the ACE Reactor framework;
on the event demultiplexing and dispatching ( Event demultiplexing and dispatching);
Linux under the I / O event demultiplexing mechanism: select, epoll;
event handler ACE_Event_Handler:
I / O events (input, output), signal, time-out event , incident capture and processing;
ACE_Timer_Queue and ACE_Time_Value:
timer application;
ACE_Reactor: ACE reactor core for the ACE Reactor framework, responsible for event detection, demultiplexing and event handling control of the distribution;
routine: ACE Reactor framework implementation based on a multiplayer chat room.
3, ACE Acceptor-Connector Framework
ACE Acceptor-Connector Framework implements the Acceptor-Connector pattern, this pattern through the lift: 1,UGG shoes, network application services such as mutual cooperation on the connection and initialization activities required, 2, and once they are connected and initialized the processing performed by the coupling and enhanced software reuse and scalability.
integrated Message_Queue the ACE_Event_handler: ACE_Svc_Handler;
receptors: ACE_Acceptor;
connector: ACE_Connector;
routine: Acceptor-Connector framework implementation based on a relay server.
4 , ACE Proactor framework
Proactor framework of the introduction of asynchronous I / O mechanism, not only retained the Reactor framework, event demultiplexing, multi-threaded to avoid the overhead, while also easing the reactive synchronous I / O bottleneck effect.
About Proactor mode and Proactor framework;
on asynchronous I / O;
asynchronous I / O factory class:
ACE_Asynch_Read_Stream and ACE_Asynch_Write_stream;
ACE_Handler;
proactive type Acceptor-Connector; < br> Proactor: ACE_Proactor;
routine: re-implement the framework based on more than Proactor chat room.
5, ACE utilities
ACE log utility: ACE_Log_Msg;
read and write configuration file: ACE_Configuration_Heap;
Singleton pattern (singleton) of the ACE implementation: ACE_Singleton class template.
6, discussion of high-performance network programming sophisticated high-performance network programming
the principles that should be discussed concurrency, synchronization, event demultiplexing the application of mechanisms such occasions.
network applications where the bottleneck?
event demultiplexing vs one connected to a thread (Event demultiplexing vs One thread per connection);
synchronous I / O vs Asynchronous I / O (Synchronous I / O vs Asynchronous I / O);
how to properly use multiple threads?
when you need more than one event demultiplexing thread?
7, application layer protocol definition and Why should realize
custom application layer protocol?
define the application layer protocol (in XMMEP protocol as an example);
with C + + to implement a custom protocol (to XMMEP protocol as an example).
Note: XMMEP for the X-Messenger Message Exchanging Protocol.
(Please make your evaluation of the article)
Seven_Yuan ACE's and ACE Socket Boost.Asio Socket programming on the comparison between the Seven_Yuan

No comments:

Post a Comment