2017-08-23 9 views
-1

ファイルを1行ずつ読み込み、コードサイクルで各行を実行しようとしていますが、これはすでに正常に動作していますが、これをマルチスレッド化する方法が不思議ですpthreadsを使って.... すでにpthreadがインストールされていますが、ファイルを1行ずつ読み込む方法の例を見て、マルチスレッドのために同じ行を2回実行せずに各行に対してコードサイクルを実行するだけです。 ..php pthreads行ごとにファイルを読み取る

これは可能ですか、私は時間を無駄にしていますか? 私は上のPHPスクリプトを実行しているこれらのファイルは大きいです、150,000行以上あることができます....

$file = file('list.txt'); 
//For each file as "kek"/ 
ForEach ($file as $kek){ 
//Split the new line. 
    $splitter = explode(":", $kek); 
    $var1 = $splitter[0]; 
    $var2 = $splitter[1]; 
    $var3 = $splitter[2]; 
    $var4 = $splitter[3]; 

    //execute the rest of the code that you need the separated vars for.... 
} 

編集: だから、私は読書を少しやった、と私は何を信じています私はプールが必要です.... 私は現在、php 5.5がインストールされており、pthreads v2は、私が必要とするプールですか?

+1

順序が重要でないと仮定して、各スレッドが行のブロックを読み込むように '割り当てる'ことができます。スレッド1は1〜1000、2は1001〜2000 ... –

+0

@MousaAlfhaily私はマルチスレッドが必要なサンプルコードを追加しました。 – JesterRM

+0

@NigelRenファイルサイズは大きく変わります。なぜなら、ソートするファイルは、ファイルが実行されるたびにかなり異なるからです。これはまだ動作しますし、いくつかの種類の例やリンクを例? – JesterRM

答えて

-1

コマンド分割をLinuxで使用すると、2つ以上のファイルに分割することができます。

あなたは500 file.txtを -lコマンド

分割を試すことができます - >各ファイルは が-C 10Mはfile.txtをスプリト500本のライン用 - >各ファイルの10メガバイトのサイズのため

を分割
関連する問題