Java マルチスレッド解釈メモ
何
並列処理実現方法の一つ
似て非なるもの
・マルチプロセス ・子プロセス並列処理 マルチスレッドはスレッドごとにメモリ領域を確保してもらえない
うれしいこと
はやくおわる 余分なメモリを消費せず処理できる
嬉しくないこと
・排他制御(下記参照)を漏らしたときにバグを発見しにくい。 そのうえ結構致命的なバグになったりする。
何種類
2種 ①Threadクラスの継承 runが走ることで新規Threadの作成 ただし実行するのはstart()でこいつを書くことでrunが走る
②Runnableインターフェースの実装
具体的な実現方法
2. スレッドの実行 (2) | TECHSCORE(テックスコア)
ワザ
・他のThreadの終了を待つ →joinメソッド ・待ち合わせ →waitメソッド
気をつけることとその対応策
・変数の書き換え 例:口座預金を二箇所から1,000円ずつしたのに1,000円しか増えない →排他制御 1)Synchronizedブロック 2)Synchronizedメソッド 3)volatile変数
※処理時間を要する箇所には無闇矢鱈にSynchronizedを使わないこと。実行待ちになって待ちぼうけ。 →極力適用範囲を狭くする
その他
・プロセスとの違い http://moro-archive.hatenablog.com/entry/2014/09/11/013520#5 ・やらかしたら 発見しにくい。見つけにくい。サイアク。
道具
テレパシーについて知りたくて調べていたらいつのまにか社会科学版のarXivにいきついていた https://osf.io/preprints/socarxiv/discover?q=Macro&subject=SocArXiv%7CSocial%20and%20Behavioral%20Sciences
英語圏にはCyberFeminismというものがあるらしい事を知る。
しかしこんなものを読みに来たわけではないし、長い。 読む気が失せた。 読めたらいいと思う。 読めたら、読んだかもしれない。
分かるものだけを得て行った先には残念な結末しか見えない。 わからないものを解読するための道具を得る努力をしていきたいと思う。 いまならば構文や難解な単語を一つずつ覚えていくことになるだろう。
・・・
テレパシーは甲から測定した脳を乙方でデコンパイルすればイケルと思った。 wired.jp あながち間違ってなさそう。
おわり
雑感
MindWaveとEmotiv、どちらを購入するか迷っている