LinuxÍøÂç±à³Ì ¿Í»§¶ËÓë·þÎñÆ÷¶ËÒ첽ͨÐÅ
#include <sys/select.h>
#include <sys/time.h>
#include
<sys/types.h>
#include <unistd.h>
int select(int
nfds,fd_set *readfds,fd_set *writefds, fd_set *except fds,struct timeval
*timeout)
void FD_SET(int fd,fd_set *fdset)
void FD_CLR(int fd,fd_set
*fdset)
void FD_ZERO(fd_set *fdset)
int FD_ISSET(int fd,fd_set
*fdset)
¼ÌÐøÇ°ÃæµÄ
LinuxÍøÂç±à³Ì-¿Í»§¶ËÓë·þÎñÆ÷¶ËͨÐÅ(Echo)
£¬½Ó׎²¹ØÓÚ¿Í»§¶ËÓë·þÎñÆ÷¶ËµÄÒ첽ͨѶ
Ò»°ãµÄÀ´Ëµµ±ÎÒÃÇÔÚÏòÎļþ¶Áдʱ,½ø³ÌÓпÉÄÜÔÚ¶Áд³ö×èÈû,Ö±µ½Ò»¶¨µÄÌõ¼þÂú×ã.
±ÈÈçÎÒÃÇ´ÓÒ»¸öÌ×½Ó×Ö¶ÁÊý¾Ýʱ,
¿ÉÄÜ»º³åÇøÀïÃæÃ»ÓÐÊý¾Ý¿É¶Á (ͨÐŵĶԷ½»¹Ã»ÓÐ
·¢ËÍÊý¾Ý¹ýÀ´),Õâ¸öʱºòÎÒÃǵĶÁµ÷ÓþͻáµÈ´ý(×èÈû)Ö±µ½ÓÐÊý¾Ý¿É¶Á.
Èç¹ûÎÒÃDz» Ï£Íû×èÈû,ÎÒÃǵÄÒ»¸öÑ¡ÔñÊÇÓÃselectϵͳµ÷ÓÃ.
Ö»ÒªÎÒÃÇÉèÖúÃselectµÄ¸÷¸ö²ÎÊý,
ÄÇôµ±Îļþ¿ÉÒÔ¶ÁдµÄʱºòselect»Ø"֪ͨ"ÎÒÃÇ Ëµ¿ÉÒÔ¶ÁдÁË.
readfdsËùÓÐÒª¶ÁµÄÎļþÎļþÃèÊö·ûµÄ¼¯ºÏ
writefdsËùÓÐÒªµÄдÎļþÎļþÃèÊö·ûµÄ¼¯ºÏ
exceptfdsÆäËûµÄ·þÒªÏòÎÒÃÇ֪ͨµÄÎļþÃèÊö·û
timeout³¬Ê±ÉèÖÃ.
nfdsËùÓÐÎÒÃÇ¼à¿ØµÄÎļþÃèÊö·ûÖÐ×î´óµÄÄÇÒ»¸ö¼Ó1
ÔÚÎÒÃǵ÷ÓÃselectʱ½ø³Ì»áÒ»Ö±×èÈûÖ±µ½ÒÔϵÄÒ»ÖÖÇé¿ö·¢Éú.
1)ÓÐÎļþ¿ÉÒÔ¶Á.
2)ÓÐÎļþ¿ÉÒÔд.
3)³¬Ê±ËùÉèÖõÄʱ¼äµ½.
ΪÁËÉèÖÃÎļþÃèÊö·ûÎÒÃÇҪʹÓü¸¸öºê.
FD_SET½«fd¼ÓÈëµ½fdset
FD_CLR½«fd´ÓfdsetÀïÃæÇå³ý
FD_ZERO´ÓfdsetÖÐÇå³ýËùÓеÄÎļþÃèÊö·û
FD_ISSETÅжÏfdÊÇ·ñÔÚfdset¼¯ºÏÖÐ
ʹÓÃselectµÄÒ»¸öÀý×Ó
#
include
<
stdio.
h>
#
include
<
sys/
time
.
h>
#
include
<
sys/
types.
h>
#
include
<
unistd.
h>
int
main(
void
)
{
 
Ïà¹ØÎĵµ£º
ת×Ô£º http://blog.csdn.net/kongqz/archive/2009/05/15/4184415.aspx
¾ÍÊÇÔÚÒÑÓеÄÊý¾Ý¿âʵÀýÉÏ´´½¨Ò»¸öеÄÕʺţ¬·ÃÎÊһЩеıí
²Ù×÷²½ÖèÈçÏ£º
1¡¢µÇ¼linux£¬ÒÔoracleÓû§µÇ¼£¨Èç¹ûÊÇrootÓû§µÇ¼µÄ£¬µÇ¼ºóÓà su - oracleÃüÁîÇл»³ÉoracleÓû§£©
2¡¢ÒÔsysdba·½Ê½À´´ò¿ªsqlplus£¬ÃüÁîÈçÏ£º s ......
¾ÍÊÇÔÚÒÑÓеÄÊý¾Ý¿âʵÀýÉÏ´´½¨Ò»¸öеÄÕʺţ¬·ÃÎÊһЩеıí
²Ù×÷²½ÖèÈçÏ£º
1¡¢µÇ¼linux£¬ÒÔoracleÓû§µÇ¼£¨Èç¹ûÊÇrootÓû§µÇ¼µÄ£¬µÇ¼ºóÓà su - oracleÃüÁîÇл»³ÉoracleÓû§£©
2¡¢ÒÔsysdba·½Ê½À´´ò¿ªsqlplus£¬ÃüÁîÈçÏ£º sqlplus "/as sysdba"
3¡¢²é¿´ÎÒÃdz£¹æ½«Óû§±í¿Õ¼ä·ÅÖÃλÖà ......
×î½ü¶ÔLinuxµÄÏ߳̽ӿڽøÐÐÁËЩ×ܽᣬҲ²Î¿¼ÁËÍøÂçÉÏÐÖµÜÃǵÄһЩ×ÊÁÏ£¬×Ô¼ºÍ¬Ê±Ò²Ð´ÁËЩ³ÌÐò½øÐвâÊÔ£¬ÏȰѲο¼µÄ
×ÊÁÏÁгöÀ´°É
http://blog.mcuol.com/User/liuzhilii521/Article/12738_1.htm
ÏÂÃæÊÇÎÒµÄһЩÀí½â£º
pthread_key_create(pthread_key_t *key,void (*destructor)(void*))
destructorÕâ¸ö»Øµ÷º¯ÊýÔÚÏß³Ì ......
Ò».linuxµÄÌØµã
1£©Ãâ·ÑµÄ/¿ªÔ´µÄ
2£©Ö§³Ö¶àÏß³Ì/¶àÓû§
3£©°²È«ÐÔºÃ
4£©¶ÔÄÚ´æºÍÎļþ¹ÜÀíÓÅÔ½
¶þ.ËÔÚͦlinux
IBM/Compaq/Novell/Oracle/Sun/NEC....
Èý.linux ×îСֻҪ4MÄÚ´æ -¡·Ç¶Èëʽ¿ª·¢
ËÄ.linux µÄ¹ÊÊÂ
1973£¬unix³öÏÖ¡£´ËʱwindowsÉÐδ³öÉú
Ô´ÂëÄں˹²Ïí -¡·IBMÍÆ³öaix£¬SUNÍÆ³ösolaris£¬HPÍÆ³öHP unix£¬ ......
Linux¶àÏ̱߳à³Ì¼¼Êõ×ܽá
1
¡¢Ï̵߳Ĵ´½¨¡¢ÖÕÖ¹¼°¿ØÖÆ£º
Èκνø³ÌÔÚÆô¶¯Ê±¾ÍÒÑÓÐÁËÒ»¸öÖ÷Ị̈߳¬Èç¹ûÐèÒªÔÙÉú³ÉÏß³ÌÔòʹÓÃ
pthread_create
º¯Êý£¬Ôڸú¯ÊýÖпÉÒÔÖ¸¶¨Ï̵߳ÄÊôÐÔ¡¢Ïß³ÌÀý³Ì¡¢´«¸øÏß³ÌÀý³ÌµÄ²ÎÊý¡£Ïß³ÌÀý³ÌÊÇÒ»¸öÓû§×Ô¶¨ÒåµÄº¯Êý£¬¼°Ïß³ÌÖ´ÐеĴúÂë¡£µ±Ïß³ÌÀý³Ì· ......