0

ループして各 ID に対して何らかの処理を行う必要があるメンバー ID のリストがあります。

現在、各 ID をループし、各 ID の cfthread で各 ID に対して何らかの処理を行っています。私が抱えている問題は、作成するスレッドが多すぎることです。そのため、各スレッド内で約 5 つのアイテムを処理できると考えました。しかし、私はこれを解決するのに苦労しています。

RoR の in_groups_of メソッドに似たものを探しています。したがって、たとえば 100 個のリスト アイテムのリストを、各リストで 5 個の 20 個の小さなリストに分割し、一度に 1 つのアイテムではなく、それぞれの小さなリストを cfthread に渡します。

これは簡単にできると思いますが、どうすればよいかわかりません。

ありがとう

4

2 に答える 2

2

リストを配列に変えるのはどうですか:

明らかに、これは非常に基本的なことですが、開始点を提供できます。

<cfscript>
    myArr = listToArray(myList);

    for(i=1;i<arrayLen(myArr);i+5){

        //need to do some checking to confirm that myArr[i+1] etc exist
        processFive(myArr[i],myArr[i+1],myArr[i+2],myArr[i+3],myArr[i+4],myArr[i+5]);
    }
    function processFive(id1, id2, id3, id4, id5){
        //spin up thread and do processing...

    }

</cfscript>
于 2012-04-24T07:44:31.330 に答える
0

コメントできない私の呪い!私はBennyBの答えが好きですが、それでも多くのスレッドを持つことができます. いくつかのスレッドを開始し、そのスレッドが配列から一度に 5 つの項目を取得した場合はどうなるでしょうか?

于 2012-04-25T02:53:41.617 に答える