在下面的代码中,我使用golang中的bufio将消息写入文件.我的磁盘I/O速度约为1000M/s.奇怪的是,当写入文件的大小小于20G时,写入速度约为每秒800M~900M,略低于I/O速度.但是,当文件大小超过21G时,我发现写入速度大约是每秒200M,远低于I/O速度.我不知道为什么,任何人都可以帮助我?谢谢.
package main
import "fmt"
import (
"os"
"time"
"flag"
"bufio"
)
func main() {
var pRound = flag.Int64("round", 3500000, "loop round")
flag.Parse()
var message string
for i := 0; i < 1024; i++ {
message += "1234567890"
}
message += "\n"
f, err := os.OpenFile("server", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666)
if err != nil {
fmt.Println(err)
return
}
w := bufio.NewWriter(f)
var i int64 = 0
round := *pRound
start := time.Now()
for i = 0; i < round; i++ {
w.WriteString(message) …Run Code Online (Sandbox Code Playgroud) 我正在使用 Flutter 开发一个 APP。在 APP 中有一个 PageViews 列表,每个 PageView 在出现时都会加载和播放视频。当视频消失时,任何 PageView 都会停止播放视频。现在我有一个问题。当我在 PageViews 之间慢慢滑动时,会同时出现两个 PageView。每个 PageView 出现一个部分。但是两个PageView都在播放视频。我想知道我是否可以检查当前的PageView是否完全消失,然后我停止播放视频。当下一个 PageView 完全显示时,它开始播放视频。所以它不会同时在两个 PageView 中播放视频。任何人都可以帮助我吗?
import 'package:video_player/video_player.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MultiplePage(),
);
}
}
class MultiplePage extends StatefulWidget {
@override
_MultiplePageState createState() => _MultiplePageState();
}
class _MultiplePageState extends State<MultiplePage> {
PageController …Run Code Online (Sandbox Code Playgroud)