请问有没有大神懂thread

匿名
楼主 (北美微论坛)
本帖最后由 匿名 于 2019-10-9 13:06 编辑

谢谢各位大神,再问一下怎么用多线程比较出最长,最短和出现最多次的单词啊

---------------------------------------------------------------------
请问大神,如何在C当中写一个单线程(single thread)去读取一个文件?

在网上搜索半天,都是multi thread的写法
天气真好
2 楼
不用线程library写的就是单线程啊
天气真好
3 楼
#include <stdio.h>

main() {

   FILE *fp;
   char buff[255];

   fp = fopen("/tmp/test.txt", "r");
   fscanf(fp, "%s", buff);
   printf("1 : %s\n", buff );

   fgets(buff, 255, (FILE*)fp);
   printf("2: %s\n", buff );
   
   fgets(buff, 255, (FILE*)fp);
   printf("3: %s\n", buff );
   fclose(fp);

} 复制代码 这个就是单线程读文件
匿名
4 楼

这个就是单线程读文件

是吗?好吧,谢谢大神
钢格板
5 楼
路过
s s s
德恩柯埃
6 楼
主程序自己就是单线程
匿名
7 楼

这个就是单线程读文件

大神,再问一下怎么用多线程比较最长,最短,出现次数最多的单词啊
匿名
8 楼

主程序自己就是单线程

谢谢大神,再问一下怎么用多线程比较最长,最短,出现次数最多的单词啊
德恩柯埃
9 楼

谢谢大神,再问一下怎么用多线程比较最长,最短,出现次数最多的单词啊

拿个map做word count,同时不断更新最长的单词和最短的单词
匿名
10 楼

拿个map做word count,同时不断更新最长的单词和最短的单词

试了半天,不知道为什么总是count 单词的字数。是不是因为提供的文件中单词之间是没有空格的?
德恩柯埃
11 楼

试了半天,不知道为什么总是count 单词的字数。是不是因为提供的文件中单词之间是没有空格的? ...

Word count是记录每个单词出现的次数啊 每出现一次就+1
匿名
12 楼

Word count是记录每个单词出现的次数啊 每出现一次就+1

我们是要求比对文件中单词的长度,最后找出最长和最短的单词
德恩柯埃
13 楼

我们是要求比对文件中单词的长度,最后找出最长和最短的单词

在找词频最高的词的过程里 就可以把最长和最短的单词都找出来了啊 一个for loop都解决了
匿名
14 楼

在找词频最高的词的过程里 就可以把最长和最短的单词都找出来了啊 一个for loop都解决了 ...

那和thread有啥关系?
德恩柯埃
15 楼

那和thread有啥关系?

你先用主程序把所有功能都实现了 再谈多线程和线程安全的各种东西
匿名
16 楼

你先用主程序把所有功能都实现了 再谈多线程和线程安全的各种东西

还在查要怎么写,写了一整天了,明天就要交了,好绝望
天气真好
17 楼

还在查要怎么写,写了一整天了,明天就要交了,好绝望

这个题目还是挺有意思的,假设两个线程搞的话,比较好的写法可能是把文件分成两部分,可以起两个线程算两部分的结果,然后主线程wait 两个线程结束,然后归并一下结果输出,这样可以有助于降低lock的Overhead。你是妹子的话,可以发微信给我,哈哈
君子也嚣张
18 楼

这个题目还是挺有意思的,假设两个线程搞的话,比较好的写法可能是把文件分成两部分,可以起两个线程算两部 ...

好的我这就去注册个妹子微信号加你