付録
データベースとマルチスレッド
コネクションプーリングについては次の記事を参考にしてください。
Concurrent Pascal について
マルチスレッドプログラミングにおけるモニタという概念はエドガー・ダイクストラがアイデアを提案し、パー・ブリンチ・ハンセンと C.A.R.ホーアによって定義され、
アルフレッド・C・ハートマン (と、パー・ブリンチ・ハンセン) により Concurrent Pascal (1974 年) において初めて実装されました 1。
これが回りまわって Delphi にやってきたというわけです (記事中で TMonitor が紹介されています)。Concurrent Pascal のモニタ型のコードは次のような感じです。
type
linebuffer = monitor
var
contents: line;
full: Boolean;
sender, receiver: queue;
procedure entry receive(var text: line);
begin
if not full then
delay(receiver);
text := contents;
full := False;
continue(sender);
end;
procedure entry send(var text: line);
begin
if full then
delay(sender);
contents := text;
full := True;
continue(receiver);
end;
begin
full := False;
end;
Concurrent Pascal には Simula 67 から借りてきたような文法があります (クラスとか)。Concurrent Pascal の構文図は SpringerLink の Back Matter で読めます。
タイトル | 著者 | ISBN-10 (Amazon) |
出版年 |
---|---|---|---|
A Concurrent Pascal Compiler for Minicomputers | アルフレッド・C・ハートマン(著) | 3540082409 | 1977/6 |
The Architecture of Concurrent Programs | パー・ブリンチ・ハンセン(著) | 0130446289 | 1977/12 |
コンピュータ・サイエンス研究書シリーズ 35 並行動作プログラムの構造 |
パー・ブリンチ・ハンセン(著) 田中英彦(訳) |
B000J6MYTU | 1980/1/25 |
『並行動作プログラムの構造』は国立国会図書館デジタルコレクションで読む事ができます。書籍の閲覧には国立国会図書館の利用者登録 (本登録) が必要です。
See also:
SuperPascal について
パー・ブリンチ・ハンセンが書いた並行処理可能な Pascal に SuperPascal (1993 年) があります。
See also:
参考文献
記事を書く上で参考にした書籍です。
タイトル | 著者 | ISBN-10 (Amazon) |
出版年 |
---|---|---|---|
Mastering Delphi Programming: A Complete Reference Guide | Primož Gabrijelčič (著) | 1838989110 | 2019/11/26 |
Delphi Cookbook Third Edition | Daniele Spinetti (著) | B07FNWNRSY | 2018/7/31 |
Delphi High Performance | Primož Gabrijelčič (著) | 1788625455 | 2018/2/26 |
More Coding in Delphi | Nick Hodges (著) | 194126610X | 2015/12/06 |
Java 言語で学ぶデザインパターン入門 マルチスレッド編 | 結城 浩 (著) | 4797319127 | 2002/6/28 |
Delphi クイックリファレンス | Ray Lischner (著), 光田 秀, 竹田 知生 (訳) | 4873110408 | 2001/5/1 |
Delphi マガジン Vol.5 2 | PS ネットワーク | 4939049051 | 1999/7/1 |
Delphi マガジン Vol.4 3 | PS ネットワーク | 4939049043 | 1999/5/1 |
Delphi マガジン Vol.3 4 | PS ネットワーク | 4939049035 | 1999/3/1 |
Delphi 4 プログラミング技法 Vol.1 | Xavier Pacheco (著), Steve Teixeria (著), 日向 俊二 (訳) | 489471082X | 1998/12/25 |
インサイド Windows NT 第二版 | David A. Solomon (著), 東京ネットワーク情報サービス(訳) | 4891000309 | 1998/9/27 |
Inside Delphi | Ray Lischner(著), 光田 秀(訳) | 4756119514 | 1997/12/1 |
Win32 マルチスレッドプログラミング | James E. Beveridge, Robert Wiener (著), インフォビジョン (訳) | 4756114040 | 1997/9/1 |
Windows NT マルチスレッドプログラミング入門 | Thuan Q. Pham, Pankaj K. Garg (著), 川手 恭輔 (訳) | 4810189600 | 1996/12/20 |
Windows 95 API バイブル <1> | Richard J. Simon, Michael Gouker, Brian C. Barnes (著), スリーエーシステムズ (訳), 江藤ソフトオフィス (監) | 4881354302 | 1996/10/31 |
マルチスレッドプログラミング入門 | Bil Lewis, Daniel J. Berg (著), 岩本 信一 (訳) | 4756116825 | 1996/9/31 |
ADVANCED WINDOWS NT | Jeffrey Richter (著), 梅原 系, 長尾 高弘, 鈴木 慎司 (訳) | 4756103014 | 1995/1/1 |
See also:
索引
[ ← 10. ファイバー ] [ ↑ 目次へ ]
-
『並行動作プログラムの構造』には
「1974年に Al Hartman は Sequential Pascal を用いて、Concurrent Pascal と名付けた新しいプログラミング言語のコンパイラを作成した」
、「Sequential Pascal および Concurrent Pascal のコンパイラは Al Hartman と筆者によって半年で設計・実装した」
とあります。 ↩ -
阿部 隆 (1999).「Delphi マルチスレッドプログラミング 応用編」『Delphi マガジン』, vol.5, PS ネットワーク, pp.78-94. ↩
-
阿部 隆 (1999).「Delphi マルチスレッドプログラミング 実践編」『Delphi マガジン』, vol.4, PS ネットワーク, pp.58-73. ↩
-
阿部 隆 (1999).「Delphi マルチスレッドプログラミング 基礎編」『Delphi マガジン』, vol.3, PS ネットワーク, pp.85-101. ↩