Posix準拠のプラットフォームではpthreadがサポートされています。 Pythonのスレッドはこのpthreadを使っているので、pthread環境下では ネイティブスレッドを使用できます。当然Linux系の環境ならば使用可能です。
以下にMacPortsでよく使うコマンドオプションを記述しておきます。
前回は排他制御について説明しました。
/Users/mitarai/Library/Thunderbird/Profile/
RDBとかファイルとか。。。
RDBに対するR/Wは、RDB管理モジュールが同時書き込みに対する排他制御を行ってくれるので
何も意識することはありませんが、ファイルに対するR/Wとなるとそうはいきません。
ファイルで特に問題になるのは、書き込みです。
前回の記事で辞書配列、リストなどに対する基本的なソーティング方法を紹介しました。
高速化のために、ボトルネックとなる関数を発見し性能改善する必要があります。 そんなときはgprof等のプロファイラツールを使用しましょう。
また、最適化のためのオプションも有効です。そんなとき、core(コア)を吐かせるようにシステムに設定をしておけば、どこで何が原因で プログラムが停止したのかが瞬時に分かるので便利です。
このバグは主に確保した配列を飛び越えてデータを書き込むことで 発生します。このようなプログラムは単純にprintf()等でシーケンスでバッグをしても、入力の種類に よって停止する位置が変わったりするので、まったくの無力です。逆にgdbでひとつひとつステップごとに 様々な変数やシーケンスをチェックしだすと、ものすごい時間を浪費します。