人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

『同時』を処理するプログラム的なのはあるでしょうか?

コンピュータ上で、同時というのはそもそも起こりにくいか、起こりえないかだと思っています。
そもそも、時間単位が凄く短いですし、同時に処理をしているように見えて実際には順番に処理していると以前に聞いたような気がします。

それでも、あるプログラムに対して同時に要求やイベントが発生してしまうような状況
(先に優先順位をつけておけば同時だからと困ることはなさそうだと思いますが、そもそもそういう状況が起こるのかどうか)

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● 匿名回答1号

どこで使われてるのかは知らんが、
かなり昔から理論は存在する。

https://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B7%E3%83%B3%E3%82%B0

たぶん既存の汎用OSではなく、専用のOSを用意するものと思われ。


匿名回答1号さんのコメント
ちなみに1つのCPUで複数の処理を同時にというのは無理な相談です。

2 ● 匿名回答2号

「処理」の定義にもよりますが、命令を細分化した各工程の処理はパイプラインという仕組みによって同時に実行されることもあります。
https://ja.wikipedia.org/wiki/%E5%91%BD%E4%BB%A4%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3


3 ● 匿名回答3号

同時「を」処理する、と、同時「に」処理する、とは違いますね。

同時「に」処理するのは、
(1)おっしゃるように、少しずつ順番にやっているが、人間の目には同時に
やっているように見える。例えば、人は1日の間に家事、食事、仕事、睡眠
など順番にやっていますが、1年前のことを振り返れば「家事、食事、仕事、睡眠、
同時にやっていたな」と思えるでしょう。それと同じスケールの差があります。

(2)すでに他の方の回答があるように、別のプロセッサに仕事を割り振って、
並行してやる。上役が部下に仕事を割り振るのと同じですね。

同時「を」処理するのは、
(1) 本当は1秒の十億分の一単位では同時ではないかもしれませんが、
ほぼ同時に、外部からの入力があるかもしれません。センサー入力か、
別の端末からのキーボード入力かもしれません。
しかし、プロセッサは同時には仕事ができないので、
まず一つの入力があったら、「ふたを閉めて、他を受け付けない」ようにする。
「ロック機構」とか、そういうものです。これはたいていのプロセッサで、
ハード的に、あるいはソフト的に実現されています。

(2)たとえば千分の1秒か、一日か、幅を設けて、その間に複数のことがらが
同時間帯にあったら、初めて何事かを始める、ということもありますね。
「注文書が届いて、同時に金の払い込みがあったら、初めて注文を受け付ける」
なんて普通にあります。この場合の同時は、たいてい、後のものがそろったら、
ということで、ある程度は待つ、ただし、1週間まってもそろわなかったら
話は無しにする、とかは決めておきます。


匿名質問者さんのコメント
>同時「を」処理する 以降がだいたい知りたい内容でした。ありがとうございます。

匿名質問者さんのコメント
よくよく考えればゲームなどでも (2)でおっしゃられているように 数十ms? 毎にイベントを取りに行ってボタン入力の判定……みたいなのは多そうですね。 イベントを受けて動き出す場合は「同時」にイベントを受けることはまずなくて、 定期的にイベント入力を監視している場合は…… という

匿名回答3号さんのコメント
あ、(2)で、一番よくわかるのが「CTRLとCのキーを同時に押すと、コピーができる」 のような場合ですね。これは真に同時にではないが、ようするにCTRLが押されている 時間帯と、Cが押されている時間帯が重なればよい、です。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ