ºìÁªLinuxÃÅ»§
Linux°ïÖú

MysqlÊý¾Ý¿â¶ÔÎļþ²Ù×÷µÄ·â×°

·¢²¼Ê±¼ä:2007-11-23 00:00:30À´Ô´:ºìÁª×÷Õß:Limits
Ôڲ鿴Mysql¶ÔÎļþµÄ²Ù×÷ÖУ¬ËüÔÚ²»Í¬µÄ²Ù×÷ϵͳÉ϶ÔÎļþµÄ²Ù×÷£¬³ýÁËʹÓñê×¼CÔËÐп⺯Êý£¬°üÀ¨open¡¢close¡¢seekµÈ£¬ÔÚWin32ϵÄÎļþºÍĿ¼²Ù×÷º¯ÊýʹÓÃÁËCreatFile¡¢CloseHandl¡¢SetFilePointerµÈ£¬ºÜ¶àÈË¿ÉÄܲ»Ã÷°×Ϊʲô¶ÔÎļþµÄ²Ù×÷Òª·â×°³öÁ½Ì׺¯Êý¡£

ÆäʵʹÓÃAPIºÍ±ê×¼¿âº¯Êý¶¼¿ÉÒÔÉú³ÉÎı¾ÎļþºÍ¶þ½øÖÆÎļþ£¬ÔÚÕâµãÉÏûÓÐÇø±ð¡£Í¬read()¶ÔÓ¦µÄÊÇReadFile£¬Í¬write()¶ÔÓ¦µÄÊÇWriteFile£¬Í¬seek()¶ÔÓ¦µÄÊÇSetFilePointer£¬Í¬close¶ÔÓ¦µÄÊÇCloseHandle¡£ÕâÁ½Ì׺¯Êý¶¼¿ÉÒÔʹÓᣵ«ÊÇWin 32ϵͳ°ÑÎļþµÄ¸ÅÄî½øÐÐÁËÀ©Õ¹¡£ÎÞÂÛÊÇÎļþ¡¢Í¨ÐÅÉ豸¡¢ÃüÃû¹ÜµÀ¡¢Óʼþ²Û¡¢´ÅÅÌ¡¢»¹ÊÇ¿ØÖÆ̨£¬¶¼ÊÇÓÃAPIº¯ÊýCreateFileÀ´´ò¿ª»ò´´½¨µÄ¡£¸Ãº¯ÊýµÄÉùÃ÷Ϊ£º

HANDLE CreateFile(
LPCTSTR lpFileName, // ÎļþÃû
DWORD dwDesiredAccess, // ·ÃÎÊģʽ
DWORD dwShareMode, // ¹²Ïíģʽ
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // ͨ³£ÎªNULL
DWORD dwCreationDistribution, // ´´½¨·½Ê½
DWORD dwFlagsAndAttributes, // ÎļþÊôÐԺͱêÖ¾
HANDLE hTemplateFile // ÁÙʱÎļþµÄ¾ä±ú£¬Í¨³£ÎªNULL

Èç¹ûµ÷Óóɹ¦£¬ÄÇô¸Ãº¯Êý·µ»ØÎļþµÄ¾ä±ú£¬Èç¹ûµ÷ÓÃʧ°Ü£¬Ôòº¯Êý·µ»Ø£º

INVALID_HANDLE_VALUE

ÔÚÓÃReadFileºÍWriteFile¶Áдʱ£¬¼È¿ÉÒÔͬ²½Ö´ÐУ¬Ò²¿ÉÒÔÒì²½Ö´ÐС£ReadFileºÍWriteFileº¯ÊýÊÇ·ñΪִÐÐÒì²½²Ù×÷ÊÇÓÉCreateFileº¯Êý¾ö¶¨µÄ¡£Èç¹ûÔÚµ÷ÓÃCreateFile´´½¨¾ä±úʱָ¶¨ÁËFILE_FLAG_OVERLAPPED±êÖ¾£¬ÄÇôµ÷ÓÃReadFileºÍWriteFile¶Ô¸Ã¾ä±ú½øÐеĶÁд²Ù×÷¾ÍÊÇÒì²½µÄ£¬Èç¹ûδָ¶¨Òì²½±êÖ¾£¬Ôò¶Áд²Ù×÷ÊÇͬ²½µÄ¡£ÔÚͬ²½Ö´ÐÐʱ£¬º¯ÊýÖ±µ½²Ù×÷Íê³Éºó²Å·µ»Ø¡£ÕâÒâζ×ÅÔÚͬ²½Ö´ÐÐʱÏ̻߳ᱻ×èÈû£¬´Ó¶øµ¼ÖÂЧÂÊϽµ¡£ÔÚÒì²½Ö´ÐÐʱ£¬¼´Ê¹²Ù×÷»¹Î´Íê³É£¬µ÷Óõĺ¯ÊýÒ²»áÁ¢¼´·µ»Ø¡£·ÑʱµÄI/O²Ù×÷ÔÚºǫ́½øÐУ¬ÕâÑùÏ߳̾ͿÉÒԸɱðµÄÊÂÇé¡£ÕâÑù¿ÉÒÔ´ó´óµÄÌá¸ßЧÂÊ¡£ÕâÒ»µãÊÇÖµµÃÎÒÃÇѧϰºÍ½è¼øµÄ£¬¶ÔÓÚÎÒÃÇÔÚÎļþµÄ²Ù×÷·½ÃæÒ²¿ÉÒÔ¶Ôwin32ϵͳ½øÐзâ×°À´Ìá¸ßÎļþ²Ù×÷µÄЧÂÊ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ