c - 线程数据记录
问题描述
我试图在运行数据记录器来捕获数据时创建一个多线程程序。这是代码:
void *datalogging(void *data)
{
time_t rtime;
time(&rtime);
FILE *file;
file = fopen("log.txt","w");
while(true){
fprintf(file,"test\n");
usleep(1000000);
}
}
int main(int argc, char *argv[])
{
pthread_t test;
if ((e = pthread_create(&test, NULL, datalogging, NULL)))
fprintf(stderr, "not created datalogging thread: %s\n", strerror(e));
}
我正在通过将 test 打印到文件中来运行测试,但日志文件似乎不是每 1 秒更新一次,而是在很长一段时间(大约 1 分钟)后更新了一堆测试。我在这里做错了什么,还是每次用户输入时都要更新文件?
解决方案
推荐阅读
- c++ - 我不知道我的 c++ 代码有什么问题,因为没有出现警告
- c# - C# 授予注册表权限
- ios - SwiftUI:点击 TabView 的选项卡时崩溃
- apache-nifi - 从 Git 恢复 Nifi 注册表
- android - 如何实现一个具有多个变量的接口?
- javascript - 如何根据数据量更轻松地列出数据库中的多个变量
- python - 使用 pathlib 获取文件名和最后 x 个目录名称是否有更好的方法
- python - 如何根据下拉菜单中的值打印文本
- mysql - 不同的列值连接(mysql)
- bash - bash 是否可以通过 stdin/stdout 在读取和写入子进程之间“交互地”交替?