1

今日、私はWebアプリでwkhtmltopdf.exeを使用していProcess.Startて、スレッドセーフな方法で呼び出すためにロック(またはシングルトンパターン)を使用する必要があるかどうか疑問に思っていました。

私の懸念は、複数のユーザーが上記のexeファイルを呼び出すページで同時にGETを実行することです。各リクエストは独自のスレッドで作成されると理解していますが、これは、exeファイル(を使用してProcess.Start)を呼び出すことがWebアプリケーションでスレッドセーフであることを意味しますか?

4

1 に答える 1

2

Process.Startスレッドセーフとは何の関係もありません。これはスレッドセーフな呼び出しです。必要な数のスレッドから必要な回数だけ呼び出すことができます。これに伴う問題は、あなたが仕事をするために外部のプロセスに依存しているということです。集中的に使用されるWebアプリケーションで複数のプロセスを生成することは、より多くのリソースを消費するため、お勧めできません。したがって、サイトに大きな負荷がない場合はこれで問題ありませんが、スケーリングを開始する予定の場合はお勧めしません。

ええ、私はHTMLをPDFに変換することを知っています。それは、スポーンプロセスを必要とせず、最終結果に満足することなく、信頼性が高くパフォーマンスの高い方法でコストがかかります。ただし、Webアプリケーションのスケーラビリティには、通常、コストがかかります。

于 2012-12-13T22:08:02.033 に答える