AsyncIO
swoole1.6.12���������첽�ļ���д���첽DNS�����ԡ��Դ˽������������첽����API��
- swoole_server��
Task����
��ͬ�������ģ�û��EventLoop
�������ʹ����ʱ��֮������κ��첽IO - signalfd��Linux2.6.27�ṩ�ļ������ʽ�����ź����ԣ��ŵ��ǿ��Խ��źż��뵽EventLoop�У�Reactor�������ᱻ�źŴ����������ܡ�ȱ������Щͬ�������ij�����ܻ�������⣬�����������жϣ�����ʹ��
swoole_async_set
�ر�signalfd
����
swoole_async_set
�˺������������첽IO��ص�ѡ�
swoole_async_set(array $setting);
- thread_num �����첽�ļ�IO�̵߳�����
- aio_mode �����첽�ļ�IO�IJ���ģʽ��Ŀǰ֧��
SWOOLE_AIO_BASE
��ʹ��������Node.js���̳߳�ͬ������ģ���첽����SWOOLE_AIO_GCC
��glibc�ṩ���첽�ļ���д�ӿڣ���SWOOLE_AIO_LINUX
��Linux Native AIO�� 3��ģʽ - enable_signalfd ����ر�signalfd���Ե�ʹ��
- socket_buffer_size ����SOCKET�ڴ滺�����ߴ�
- socket_dontwait ���ڴ滺��������������½�ֹ�ײ������ȴ�
Linux Native AIO���ŵ������ں�֧�����������첽�ļ�IO��ȱ����ֻ֧��DirectIO�������õ�ϵͳ��PageCache
for($i=0; $i < 100; $i++) { swoole_async_dns_lookup("www.baidu$i.com", function($host, $ip){ echo "{$host} reslove to {$ip}\n"; }); }