Thread Rating:
  • 640 Vote(s) - 2.79 Average
  • 1
  • 2
  • 3
  • 4
  • 5
マルチスレッド・マルチコアへの対応について
09-05-2011, 12:26 PM,
#5
RE: マルチスレッド・マルチコアへの対応について
(08-30-2011, 06:01 PM)hokada Wrote: Curlのアプレットは1つのスレッドとして作られます。そのため、複数アプレットを実行すれば、複数のスレッドが生成されます。また、Curlにはサブアプレットという仕組みがあり、あるアプレットから別の子アプレットを生成することができ、その子アプレットは複数個作れます。

そのため、マルチスレッドで動作していますが、本来他の言語が持つような機能をすべては対応しておりません。(例えばメモリ共有できないなどの制約があります。但し、サブアプレット(スレッド)間通信などの機能があります。対応している機能については、ヘルプドキュメントを参照いただければと思います。)


CurlEXTのバックグラウンドタスクAPIというものは、そのサブアプレットの標準APIを簡易に利用できるようにしたものです。

Curlの内部の話は、オープンソースではないので詳しくはできませんが、当然複数スレッドでいくつかの処理は並行的に動作します。
なるほど。回答ありがとうございます。

> 対応している機能については、ヘルプドキュメントを参照いただければと思います。

これはどこの事を指されていますか?
http://developers.curlap.com/re-referenc...dtask.html
には使い方はあるのですが・・・。申し訳ないのですが、どのHelpをどういったキーワードでかければ
良いのか教えて頂けると助かります。

また制約についても↑を見れば分かるとは思うのですが、これに伴うユーザレベルでのメリット・デメリットを教えて下さい。

バックグラウンドタスクAPIがそうなのかは別として。
例えばスレッド間通信と単純にネイティブな変数を確認するのとを比較した場合、通常は後者の方が早いと私は認識しています。
この場合、デメリットは「速度低下」になるかと思います。

今までの回答を見ている限り、あくまでも疑似の印象がぬぐえず、かつあまりメリットが見いだせないのです。
(とはいうものの今の時点ではデメリットも見えないのですが。)


Messages In This Thread
RE: マルチスレッド・マルチコアへの対応について - by 復活の帝王 - 09-05-2011, 12:26 PM
Forum Jump:


Users browsing this thread:
5 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('257')