如何用C++编写一个程序,在名为text.txt的文本文件上使用线程执行三个功能?

用C++编写一个程序,在名为text.txt的英文文本文件上使用线程执行三个功能。

步骤:

  1. 编写代码用时间来证明使用线程不会使你受阻。也就是说,一旦所有线程开始,主线程就得到自由。
    a. 程序将在没有线程的情况下运行这三个函数,然后再使用线程。(这一步骤麻烦讲一下,我没有理解原理)

  2. 要实现的函数
    a. word_count() → 将计算文本文件中的单词数量
    b. sentence_count() → 将计算文本文件中的句子数量
    c. find_frequent_word() → 找到最常出现的单词和它在文本中出现的次数。和它在文本中出现的次数

输出:

计算字数:
计算句子数量:
出现频率最高的单词是 :
最高频率词的数量:
在没有线程的情况下所用时间:

启动线程1
计算单词。
启动线程2
计算句子。
启动线程3
在有线程的情况下所用时间:
主线程退出
出现频率最高的单词是 :
最高频率词的数量:
退出线程3
句子数量:
退出线程2
字数:
退出线程1

怎么个输出法呀,兄弟

你是指三个进程依次打印吗?


void alternateExe3()
{
    const int num = 3;
    HANDLE handle[num];
    g_hThreadEvent1 = CreateEvent(NULL,false,false,NULL);
    event0 = CreateEvent(NULL,false,false,NULL);
    event1 = CreateEvent(NULL,false,false,NULL);
    event2 = CreateEvent(NULL,false,false,NULL);
    InitializeCriticalSection(&g_csThreadCode1);
    int i=0;
    for (i=1; i<3; i++)
    {
        handle[i]=(HANDLE)_beginthreadex(NULL,0,Fun3,&i,0,NULL);
        WaitForSingleObject(g_hThreadEvent1,INFINITE);
    }
    WaitForMultipleObjects(num,handle,TRUE,INFINITE);
    CloseHandle(g_hThreadEvent1);
    CloseHandle(event0);
    CloseHandle(event1);
    CloseHandle(event2);
    DeleteCriticalSection(&g_csThreadCode1);

https://ask.csdn.net/questions/700772?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-3.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-3.pc_feed_download_top3ask