使用 Java 并行/多线程编写现有代码

2023-11-23

我有一个非常简单的爬虫。我想让我当前的代码在几个线程中运行。您能为我提供一些教程或文章来帮助我完成此测试吗?

我最初是一名 .Net 开发人员,在 .Net 中,我在多线程中运行代码没有任何问题,但不幸的是我对 Java 中的线程一无所知。

我的爬虫是一个命令行软件,所以不用担心 GUI。

先感谢您。


Java通过Thread类来实现多线程。使现有代码多线程化的最常见方法之一是使用 Runnable 接口来定义要在线程启动时调用的内容,然后启动它。

public class SomeFunctions
{
  public static void FunctionA() {}
  public static void FunctionB() {}
  public static void FunctionC() {}
}

// ...
Thread t1 = new Thread(new Runnable() {
   public void run() {
      SomeFunctions.FunctionA();
   }
});
t1.start();

// (rinse and repeat for the other functions)

干编码,但它至少应该传达一般概念。当然,一旦进入多线程领域,就会遇到并发问题,需要确保所有内容都适当同步等,但任何语言都会遇到这些问题。

如果您担心同步问题,可以使用一些工具。最简单的是 Java 中内置的递归互斥功能,即“synchronized”关键字。还可以通过 java.util.concurrent 和 java.util.concurrent.locks 包中的各种类(例如 Semaphore 和 ReadWriteLock)获得更经典的方法

http://download.oracle.com/javase/6/docs/api/java/util/concurrent/package-summary.htmlhttp://download.oracle.com/javase/6/docs/api/java/util/concurrent/locks/package-summary.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Java 并行/多线程编写现有代码 的相关文章

随机推荐