タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

並列処理に関するtoteriのブックマーク (2)

  • 『[PGメモ]シーケンス(っぽい)DBを作成してAUTO_INCREMENT的にID管理を行う』

    Late Riserダメ主婦ミルミルのプログラムと道の駅ドライブとリラックマの日々。 プログラム系は情報提供ではなく個人的メモなので、信憑性薄め。 検証version: 5.0.67-community-log MySQL Community Edition (GPL) MtSQL5.1からは高性能化したAUTO_INCREMENTですが、 やはり旧バージョンではロックがネックとなり、マルチタスクには対応が微妙な模様。 こいつに対する処理方法についての検証として、 MyISAMテーブルを用いたシーケンス(的)管理方法の動作検証を簡単にしてみた。 とりあえず、下記のようなテーブルをつくる。 一つはスタック用のテーブル。もう一つはシーケンス用。 トランザクションの範囲外で動いているシーケンスのIDを都度取得し、 test_stackのstack_idに連動させればよいのではないかと。 CREA

    toteri
    toteri 2010/11/17
    auto_incrementが競合しないように、シーケンステーブル作ってIDを明示的に管理する
  • PHPでマルチスレッド(バックグラウンド処理)を実現する方法 - EC studio 技術ブログ

    PHPで長時間かかる重い処理を行うとき、 マルチスレッドで動かせたらなぁ!と思うことがよくあります。 マルチスレッド処理を行うことで、時間のかかる処理を 複数同時に並列実行でき、高速化することができます。 (特に通信処理などで遅延がある場合に有効です) PHPにはpcntl_forkというプロセスをフォーク(複製)することが できる関数がありますが、これはPHPCGIモードで 動かしている場合にのみ有効です。 通常はPHPをApacheモジュールとして動作させていることが 多いので、これが使えないケースが多々あります。 他には、system関数などでシステムコールを行い、 など & を使って実行するという方法もありますが、 これもphpCGI版として実行できなければいけません。 システムコールで呼ぶプログラムをPerlなどで 書けばいいのですが、できればPHPで全部統一したいものです。

  • 1