このプログラムを書くのを手伝ってくれてうれしいです！以下は、GO言語を使用してこのプログラムを実装するコードです。

    パッケージメイン

    インポート（インポート）（
        「FMT」
        「io/ioutil」
        "ログ"
        「数学/ランド」
        「net/http」
        「OS」
        「strconv」
        「弦」
        「同期」
        "時間"
    治す

    //ダウンロードされたダウンロードを保存するために使用される画像リンクアドレス
    var imageLinks []文字列

    func main（）{
        // HTTPサーバーを作成し、ポートを監視します
        http.handlefunc（ "/submit"、submithandler）
        log.fatal（http.listenndserve（ "：8080"、nil））
    }

    //処理プログラムを送信します
    func submithandler（w http.responsewriter、r *http.request）{
        r.method！= "post"の場合{
            // POSTリクエストが必要ない場合は、エラーを返します
            http.error（w、 "method not aot"、http.statusmethodnotallowed）
            戻る
        }

        // POSTリクエスト本体のデータを分析します
        ボディ、err：= ioutil.readall（R.Body）
        if er！= nil {
            http.error（w、 "bad request"、http.statusbadrequest）
            戻る
        }
        urls：= strings.split（string（body）、 "\ n"）

        //すべてのダウンロードスレッドが完了するのを待つための待機グループを作成します
        var wg sync.waitgu
        wg.add（len（urls）））

        //すべてのURLを通過してダウンロードスレッドを起動します
        _、url：= range urls {
            go func（url string）{
                wg.done（）を延期する
                downloadimage（url）
            }（url）
        }

        //すべてのダウンロードスレッドが完了するのを待っています
        wg.wait（）

        //画像リンクアドレスを生成し、訪問者に戻ります
        _、link：= range imageLinks {
            fmt.fprintln（w、link）
        }
    }

    //写真をダウンロードします
    func downloadimage（url string）{
        // httpを送信してリクエストを取得して画像コンテンツを取得します
        rep、err：= http.get（url）
        if er！= nil {
            log.printf（ "エラーダウンロード％s：％v"、url、err）
            戻る
        }
        desp.body.close（）

        //ファイル名と接尾辞を分析します
        パーツ：= strings.split（url、 "/"）
        ファイル名：=パーツ[len（part）-1]
        ext：= strings.split（filename、 "。"）[1]

        //ストレージパスを生成します
        dir：= "/home/user/images/"
        _、err：= os.stat（dir）; os.isnotexist（err）{
            os.mkdir（dir、0755）
        }
        rand.seed（time.now（）。unixnano（））
        randstr：= strconv.itoa（rand.intn（10000）））
        SavePath：= fmt.sprintf（ "％s％s-％s。％s"、dir、time.now（）。format（ "2006-01-02"）、randstr、ext）

        //画像ファイルを保存します
        ファイル、err：= os.create（savepath）
        if er！= nil {
            log.printf（ "エラー保存％s：％v"、url、err）
            戻る
        }
        defer file.close（）
        _、err = ioutil.readall（resp.body）
        if er！= nil {
            log.printf（ "エラー保存％s：％v"、url、err）
            戻る
        }
        resp.body = ioutil.nopcloser（bytes.newreader（b））
        _、err = io.copy（file、resp.body）
        if er！= nil {
            log.printf（ "エラー保存％s：％v"、url、err）
            戻る
        }

        //画像リンクアドレスを生成します
        リンク：= fmt.sprintf（ "http://example.com/images/%S-%S.%S"、time.now（）。形式（ "2006-01-02"）、RandStr、ext）

        //写真を追加します
        ImageLinks = append（ImageLinks、link）、link）

        //ランダムな時間間隔を待っています
        time.sleep（time.duration（rand.intn（8）+3） * time.second）
    }

このプログラムの実装には、次の手順があります。

1. HTTPサーバーを作成し、ポートを監視します。
2. POSTリクエストを受信するときは、リクエスト本文のすべてのURLを解決し、対応するダウンロードスレッドを起動します。
3.各URLから画像をダウンロードし、指定されたディレクトリに保存し、アクセスできるリンクアドレスを生成します。
4.ダウンロードタスクをダウンロードした後、3〜10秒のランダムな時間間隔が3〜10秒間ランダム間隔を待っています。
5.すべてのダウンロードスレッドが完了したら、生成されたすべての画像リンクを訪問者に返します。

このプログラムがあなたを助けることができることを願っています！
很高兴能够帮助您编写这个程序！以下是使用Go语言实现这个程序的代码：

    package main

    import (
        "fmt"
        "io/ioutil"
        "log"
        "math/rand"
        "net/http"
        "os"
        "strconv"
        "strings"
        "sync"
        "time"
    )

    // 用来保存下载的图片链接地址
    var imageLinks []string

    func main() {
        // 创建一个HTTP服务器并监听端口
        http.HandleFunc("/submit", submitHandler)
        log.Fatal(http.ListenAndServe(":8080", nil))
    }

    // 提交处理程序
    func submitHandler(w http.ResponseWriter, r *http.Request) {
        if r.Method != "POST" {
            // 如果不是POST请求，返回错误
            http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
            return
        }

        // 解析POST请求体中的数据
        body, err := ioutil.ReadAll(r.Body)
        if err != nil {
            http.Error(w, "Bad Request", http.StatusBadRequest)
            return
        }
        urls := strings.Split(string(body), "\n")

        // 创建一个等待组，用于等待所有下载线程完成
        var wg sync.WaitGroup
        wg.Add(len(urls))

        // 遍历所有URL并启动下载线程
        for _, url := range urls {
            go func(url string) {
                defer wg.Done()
                downloadImage(url)
            }(url)
        }

        // 等待所有下载线程完成
        wg.Wait()

        // 生成图片链接地址并返回给访问者
        for _, link := range imageLinks {
            fmt.Fprintln(w, link)
        }
    }

    // 下载图片
    func downloadImage(url string) {
        // 发送HTTP GET请求获取图片内容
        resp, err := http.Get(url)
        if err != nil {
            log.Printf("Error downloading %s: %v", url, err)
            return
        }
        defer resp.Body.Close()

        // 解析文件名和后缀
        parts := strings.Split(url, "/")
        filename := parts[len(parts)-1]
        ext := strings.Split(filename, ".")[1]

        // 生成保存路径
        dir := "/home/user/images/"
        if _, err := os.Stat(dir); os.IsNotExist(err) {
            os.Mkdir(dir, 0755)
        }
        rand.Seed(time.Now().UnixNano())
        randStr := strconv.Itoa(rand.Intn(10000))
        savePath := fmt.Sprintf("%s%s-%s.%s", dir, time.Now().Format("2006-01-02"), randStr, ext)

        // 保存图片文件
        file, err := os.Create(savePath)
        if err != nil {
            log.Printf("Error saving %s: %v", url, err)
            return
        }
        defer file.Close()
        _, err = ioutil.ReadAll(resp.Body)
        if err != nil {
            log.Printf("Error saving %s: %v", url, err)
            return
        }
        resp.Body = ioutil.NopCloser(bytes.NewReader(b))
        _, err = io.Copy(file, resp.Body)
        if err != nil {
            log.Printf("Error saving %s: %v", url, err)
            return
        }

        // 生成图片链接地址
        link := fmt.Sprintf("http://example.com/images/%s-%s.%s", time.Now().Format("2006-01-02"), randStr, ext)

        // 添加图片
        imageLinks = append(imageLinks, link)

        // 等待随机时间间隔
        time.Sleep(time.Duration(rand.Intn(8)+3) * time.Second)
    }

这个程序的实现有以下几个步骤：

1. 创建一个HTTP服务器并监听端口。
2. 当收到POST请求时，解析请求体中的所有URL，并启动相应数量的下载线程。
3. 下载线程从每个URL下载图片，并将其保存在指定的目录下，并生成一个可以访问的链接地址。
4. 下载线程每完成一个下载任务后，就等待一个3-10秒的随机时间间隔。
5. 所有下载线程完成后，将所有生成的图片链接地址返回给访问者。

希望这个程序能够帮到您！