精华内容
下载资源
问答
  • 文件异步读写

    2010-11-26 10:28:00
    文件异步读写在应用程序侧,使用SIGIO的信号来处理。1. 设置接受SIGIO信号的函数。2. F_SETOWN3. FASYNC在驱动侧,需要fasync函数来处理。/*  * ===============================================================...

    文件异步读写在应用程序侧,使用SIGIO的信号来处理。

    1. 设置接受SIGIO信号的函数。

    2. F_SETOWN

    3. FASYNC

     

    在驱动侧,需要fasync函数来处理。

    1. F_SETOWN时,驱动不需要做什么

    2. FASYNC时,驱动需要将这个进程吧,加入到一个fasync_struct的队列里

    3. 当收到数据时,用kill_fasync()通知所有在fasync_struce队列中的进程。

     

    需要注意的一点是,在文件close,也就是驱动中的release中,需要将本进程从fasync_struct队列中移除。

     

    /*
     * =====================================================================================
     *
     *       Filename:  async.c
     *
     *    Description:  this program test the async notificatioin
     *
     *        Version:  1.0
     *        Created:  11/26/2010 09:49:33 AM
     *       Revision:  none
     *       Compiler:  gcc
     *
     *         Author:  YOUR NAME (),
     *        Company: 
     *
     * =====================================================================================
     */

    #include    <stdio.h>
    #include    <unistd.h>
    #include    <sys/types.h>
    #include    <signal.h>
    #include    <fcntl.h>

    static void sig_sigio(int signo)
    {
        printf("received data/n");
    }

    int main()
    {
        pid_t   pid;
        struct sigaction action, save;
        int     fd;

        /* signal handler for SIGIO */
        action.sa_handler = sig_sigio;
        sigemptyset(&action.sa_mask);
        action.sa_flags = 0;
        if (sigaction(SIGIO, &action, &save) < 0)
            return -1;

        fd = open("/dev/scullpipe0", O_RDWR);
        if (fd < 0)
        {
            perror("open()");
            return -1;
        }
        printf("the fd is %d/n", fd);
        fcntl(fd, F_SETOWN, getpid());
        fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | FASYNC);
        while(1)
        {
            sleep(50);
        }
        return 1;

    }

    展开全文
  • 文件异步读取 java

    千次阅读 2011-08-09 21:14:00
    读 写 耗用时间(秒) RandomAccessFile RandomAccessFile 95.848 BufferedInputStream + DataInputStream BufferedOutputStream + DataOutputS
    耗用时间(秒)
    RandomAccessFileRandomAccessFile95.848
    BufferedInputStream + DataInputStreamBufferedOutputStream + DataOutputStream2.935
    BufferedRandomAccessFileBufferedOutputStream + DataOutputStream2.813
    BufferedRandomAccessFileBufferedRandomAccessFile2.453
    BufferedRandomAccessFileBufferedRandomAccessFile2.197
    BufferedRandomAccessFileBufferedRandomAccessFile0.401
    MappedByteBuffer+ RandomAccessFileMappedByteBuffer+ RandomAccessFile1.209


    做了一个视频断点续传的功能,开始使用的 RamdomAccessFile 实现的发现速度太慢了。后来换成 MappedByteBuffer + RandomAccessFile实现


    实例如下:

    RandomAccessFile raf = new RandomAccessFile(newFile, "rw");
                            long fileLength = Long.valueOf(newFile.length()).longValue();
    //                        raf.seek(start_point==null?fileLength:Long.parseLong(start_point));
    //                        raf.write(buffer);
                            FileChannel fc = raf.getChannel();
                            MappedByteBuffer out = fc.map(FileChannel.MapMode.READ_WRITE, 0, fileLength + length);
                            out.position(start_point == null ? (int) fileLength : Integer.parseInt(start_point));
                            out.put(buffer);
                            out.force();
                            fc.close();
                            is.close();

    展开全文
  • PHP Swoole异步读取、写入文件操作示例,文件,程序设计,算法,本文,教程PHP Swoole异步读取、写入文件操作示例易采站长站,站长之家为您整理了PHP Swoole异步读取、写入文件操作示例的相关内容。本文实例讲述了...

    PHP Swoole异步读取、写入文件操作示例,文件,程序设计,算法,本文,教程

    PHP Swoole异步读取、写入文件操作示例

    易采站长站,站长之家为您整理了PHP Swoole异步读取、写入文件操作示例的相关内容。

    本文实例讲述了PHP Swoole异步读取、写入文件操作。分享给大家供大家参考,具体如下:

    异步读取文件:swoole_async_readfile

    异步写入文件:swoole_async_writefile

    【示例】

    读取文件 readfile.php:<?php $res = swoole_async_readfile(__DIR__."/1.txt", function($filename, $content) { echo "文件名:{$filename} 内容:{$content}\n"; }); echo "读取文件\n"; var_dump($res);

    执行结果:

    d0f58f7b1a11b9d0149f2b892ccadb47.png

    写入文件 writefile.php:<?php $content = date("Ymd H:i:s")."\n"; $res = swoole_async_writefile(__DIR__."/1.txt", $content, function($filename) { echo "追加写入{$filename}\n"; }, FILE_APPEND); echo "写入文件\n"; var_dump($res);

    执行结果:

    7b6ac12c7998a4e674e054b621b2ff4c.png

    1.txt:

    a3a167221d61d04bd68d9f1130a3e26c.png

    (说明:以上两个函数可读取最大文件为4M,读取大文件使用 swoole_async_read、swoole_async_write)

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP扩展开发教程》、《PHP网络编程技巧总结》、《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php字符串(string)用法总结》

    希望本文所述对大家PHP程序设计有所帮助。以上就是关于对PHP Swoole异步读取、写入文件操作示例的详细介绍。欢迎大家对PHP Swoole异步读取、写入文件操作示例内容提出宝贵意见

    展开全文
  • 异步读取文件

    2007-09-10 20:31:28
    异步读取文件
  • // 异步读取文件,这个./a.txt是一个文件,这里测试用来测试异步读取文件的。 fs.readFile('./a.txt', 'utf-8', (err, data) => { console.log(data);//必须使用回调函数来接收 }); // 同步读取文件,可...
    是一个js文件
    const fs = require('fs');
    
    console.log(111);
    
    // 异步读取文件,这个./a.txt是一个文件,这里测试用来测试异步读取文件的。
    fs.readFile('./a.txt', 'utf-8', (err, data) => {
        console.log(data);//必须使用回调函数来接收
    });
    
    // 同步读取文件,可以使用变量来接收
    // let data = fs.readFileSync('./a.txt', 'utf-8');//这个加上Sync就是同步了
    // console.log(data);
    
    console.log(222);
    
    // 这是异步请求过来的
    // 111
    // 222
    // aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    
    //这是同步请求过来的
    //111
    //aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    //222
    
    展开全文
  • 文件异步操作,包括异步写入,异步读取,文件删除
  • c/c++ 文件异步读写

    千次阅读 2018-02-18 16:43:14
    文件异步读写 1: 普通的读写文件打开文件都是同步的,比如C的fopen, fclose, fread等; 2: 磁盘的访问速度远远的低于内存,所以OS要等待磁盘设备来读写。 3: 如果采用同步,那么任务将会挂机,等待磁盘读好数据好...
  • 异步读取文件       异步文件写入   异步事件   异步MySQL &lt;?php /** * Created by PhpStorm. * User: Ty_Ro * Date: 2018/11/18 * Time: 17:21 */ class Mysql{ public $...
  • 文件同步与异步读写

    2012-05-25 10:58:27
    里面包含两个文件,一个是从网上找到的vc6.0下读文件程序,另外一个是自己编写的VS2005下写文件程序,都包含了同步和异步方式。在VS2005下运行通过。
  • Swoole IO异步读取文件与写入文件 持续更新简单IO异步读取文件 实现简单IO异步写入文件 实现 简单IO异步读取文件 实现 read.php &lt;?php /** * Created by PhpStorm. * User: dom * Date: 19-2-21 * Time: ...
  • 在Win32系统下文件可以支持平常的同步读写异步读写(但在Win9X下,Win32系统不支持磁盘文件异步读写)。本节在后面部分将会介绍文件异步读写,最后一段内容将向大家讲解一下文件的区域加锁。 在Win32系统中...
  • 简略减少 如何通过swoole实现 异步读写文件 ... * 异步读取文件内容 * * */ /** * 读取文件 * $filename 文件名 * $fileContent 文件内容 * swoole_async_readfile(__DIR__."/read.txt",function($filen...
  • 主要介绍了PHP Swoole异步读取、写入文件操作,结合实例形式详细分析了php使用Swoole扩展异步操作文件读写的相关实现技巧,需要的朋友可以参考下
  • 1.异步读取地址下信息 public void T_Invoke() { var request = WebRequest.Create("http://www.sina.com.cn"); //io yibu request.BeginGetRequestStream(AsyncCall...
  • // 按顺序来读取a、b、c三个文件的内容 ...// 封装一个函数,实现异步读取文件 let read = (path) => { return new Promise((resolve, reject) => { fs.readFile(path, 'utf-8', (err, data) => { ...
  • 5.2 磁盘文件的正常读写异步读写 在Win32系统下文件可以支持平常的同步读写异步读写(但在Win9X下,Win32系统不支持磁盘文件异步读写)。本节在后面部分将会介绍文件异步读写,最后一段内容将向大家讲解...
  • C#异步读取文件

    2016-07-25 19:32:00
    C#异步读取文件 eg:首先解释一下什么是异步,异步是主线程可以异步方法调用后不用等到其运行结束后再进行后续工作。那么主线程怎么知道异步操作结束呢:回调函数。异步不能直接提高效率,异步不是并行编程。异步与...
  • 异步编程-异步读取文件

    千次阅读 2018-12-01 20:36:31
    这篇文章我们学习如何用异步编程来读取文件。 使用System.IO.Stream类的异步调用方法,对文件out.txt进行异步读操作。 运行结果: 源代码: using System; using System.Collections.Generic; using System....
  • Swoole异步读取、写入文件

    千次阅读 2018-12-04 18:29:12
    异步读取文件:swoole_async_readfile 异步写入文件:swoole_async_writefile 【示例】 读取文件 readfile.php: &lt;?php $res = swoole_async_readfile(__DIR__."/1.txt", function($filename...
  • swoole异步读取文件、写入文件

    千次阅读 2018-10-25 10:16:20
    异步读取文件:swoole_async_readfile() /**读取文件**/ //sleep(3); $res = swoole_async_readfile(__DIR__.&quot;/test.txt&quot;,function($filename,$fileContent){ echo &quot;filename:.$...
  • fs异步读文件 ...异步读取文件数据方法: fs.readFile(path[, options], callback) path:文件名 options: encoding:编码格式,默认为null flag: 文件系统标志 默认为‘r’,表示打开文件用于读取,...
  • 异步读写文件

    千次阅读 2012-09-28 16:54:12
    // 文件关联的句柄。 if (pMyOverlapped->m_io == FileIo::FI_READ) // 读取完毕,要写。 { //开始异步写 HANDLE hWrite = pHandle->hWrite; pMyOverlapped->m_readPos += dwTransferred; ...
  • winform 异步读取文件源码! 很值得下载看看!资源免费,大家分享!!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 286,497
精华内容 114,598
关键字:

文件异步读取