|
1
3
我在你的问题中看到一个问题:
不,这种情况下不行。您必须了解创建和启动线程,然后 他们以某种方式来避免种族条件(实现正确的,确定性的行为)不是免费的。 线程是底层操作系统的资源。它需要 时间 因此:使用多线程不会自动转换为“我的程序运行得更快”。当并行处理数据的优势大于创建这些线程的初始成本时,多线程只会使事情变得“更快”。当然,您还需要能够并行运行线程的硬件。 如果 你的硬件一次只能运行一个线程,然后做一些只使用CPU的事情(从不等待外部输入),然后有多个线程就可以了 总是 现在,您的任务是计算由用户提供的短字符串中的字符数。这可以通过单个线程迭代字符串并执行其工作来最快速地解决。因此:与直接的单线程解决方案相比,您的多线程程序很可能会慢一些。 另一方面,如果您的任务是读取数千个文件,其中包含数百万行文本,例如为全文搜索建立某种索引,那么当然:使用多个线程可以显著加快总体执行时间。
当然,那个 也 要求你讲道理 隔板 你的数据。例如,可以让每个线程都有一个特定的计数 你的意见。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |