gpt4 book ai didi

java - 在 Java 并行/多线程中创建现有代码

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:35:03 24 4
gpt4 key购买 nike

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

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

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

提前谢谢你。

最佳答案

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

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

关于java - 在 Java 并行/多线程中创建现有代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6005137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com