我想运行三个线程(i)一个应该将字符串附加到文件中.(ii)另一个线程应该从写入的流中删除特殊字符.(iii)第三个线程应该按升序对单词进行排序.我怎么做它以线程安全(同步)的方式?
我的意思是
线程1
sample.txt
Apple
Ma#22ngo
G@ra&&pes
Run Code Online (Sandbox Code Playgroud)
线程2(删除特殊字符sample.txt后)
Apple
Mango
Grapes
Run Code Online (Sandbox Code Playgroud)
线程3(sample.txt)
Apple
Grapes
Mango
Run Code Online (Sandbox Code Playgroud)
为什么要使用多个线程执行此操作?也许你的例子过于简单,但如果你可以避免线程,那么这样做 - 看起来这个问题并不需要它.
你有很多文件,或者一个非常大的文件,还是别的东西?为什么你不能一个接一个地执行这三个动作?
UPDATE
我觉得我至少应该尝试帮助你解决你所面临的根本问题.我认为您需要将您正在考虑的任务视为管道.你从字符串开始,删除特殊字符(清理),然后将它们写入文件.当你最终编写了所有字符串时,你需要对它们进行排序.
直到排序阶段的所有事情都可以并且应该由单个线程完成.读取字符串,清理它,将其写入文件,移动到下一个字符串.在将所有字符串干净地写入文件之前,排序的最后任务不容易发生.
如果你有很多文件要编写和排序,那么每个文件都可以由一个单独的线程处理,但我会避免在处理任何一个给定文件时涉及多个线程.
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |