[過去ログ] ★★Java質問・相談スレッド182★★ (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: (アウアウウー Sa73-AAco [106.132.135.194]) 2018/11/19(月)11:37 ID:C68x9bSia(1) AAS
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    2ch板:hp
Webプログラミング 2ch板:php
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
省12
2: (ワッチョイ ff87-ASYV [115.176.100.236]) 2018/11/20(火)03:38 ID:JZJLduoZ0(1) AAS
カキコ
3
(1): (ワッチョイ ff51-A3/R [123.1.86.88]) 2018/11/24(土)10:37 ID:6yt0KLFG0(1/2) AAS
Threadが完了しているかはどうやって調べるんですか?
isInterrupted()とisAliveはあスレッド終了時falseでした。
4: (ワッチョイ 6f9f-zhOP [175.134.57.7]) 2018/11/24(土)16:28 ID:Q9o1GKtC0(1) AAS
>>3
http://pppurple.hatenablog.com/entry/2017/05/12/234030
5: (ワッチョイ ff51-A3/R [123.1.86.88]) 2018/11/24(土)17:16 ID:6yt0KLFG0(2/2) AAS
どうやらisAlive()はstart()前はfalse,start()後実行中はtrue,完了したらfalseのようです。
start前と完了後を区別するにはgetStateが良いようですね
6
(1): (ワッチョイ ff51-A3/R [123.1.86.88]) 2018/11/25(日)08:53 ID:vfhmRXQZ0(1) AAS
スレッド1がメンバー変数Aを更新、そのあとメンバー変数Bを更新
スレッド2から見て、Bの更新が見えるのにAが見えない、ということはありえますか?
7: (ワッチョイ cf80-fhi1 [153.181.220.179]) 2018/11/25(日)10:55 ID:bdma9Nzw0(1) AAS
マルチスレッドは前後関係が決まらないから、確実なものはない。
待ち合わせでもしていれば、できるかも

デッドロックもあるし、10年以上開発していないなら無理。
資源が共有されるから、素人がプログラミングできるはずがない!
8: (ワッチョイ 6f8a-Kv/S [223.218.154.127]) 2018/11/25(日)11:39 ID:0ClRa5n60(1) AAS
スレッドは最初から並列、同期を考えてプログラムするだろう。初心者には無理
9: (ワッチョイ 6f9f-zhOP [175.134.57.7]) 2018/11/25(日)16:50 ID:k7/W79Is0(1) AAS
>>6
その変数Aが volatile でなければ読む側のスレッドで動いているコードによっては起こり得ると思う。
(もっと他順に更新順序と読む順序の問題でそうなる事もあるが)。

かといって volatile にしただけで安心してはいけない。更にロック掛けた上で読み出した方が良い。
Java なら synchronized 使うとかだな。
10
(1): (アウアウカー Sa87-Iz74 [182.251.154.85]) 2018/11/26(月)23:37 ID:iInmVawEa(1) AAS
volatileはそのAとBの間に制約があるなら使えないし、A、Bが自身の制約になるときもか。あと他の変数の不変条件になってるなら使えないよ。
ていうかvolatile変数の変更が外から見えないならロックいらんだろ。
11: (ワッチョイ 5305-XNyg [210.132.144.78]) 2018/11/27(火)00:38 ID:2AqLChXV0(1) AAS
何を言ってるのかわからん。
12: (ワッチョイ 6f9f-KQkZ [175.134.57.7]) 2018/11/27(火)01:26 ID:IxTjeZ9T0(1) AAS
>>10
制約って?具体的にどういう状態?

privateにして外からgetするメソッドを呼ぶだけのいわゆるプロパティにしてしまえばマシにはなるかもな。
しかしそれだけだとA,Bを個別に読んだら一方しか更新されてない事は起こりうるのでは?
更新する側がロックせずに一つづつ更新している最中に一つづつ読んでしまえば起こりうるよね?
13
(2): (ワッチョイ ff51-A3/R [123.1.86.88]) 2018/11/27(火)10:43 ID:Kxtwr65F0(1) AAS
1スレッド書き込み、マルチスレッド読み込みの場合、
並行処理による問題が発生する可能性はありますか?
例えばHashMapにアクセスするとして。
14: (ワッチョイ cf80-fhi1 [153.181.220.179]) 2018/11/27(火)10:50 ID:DSo9/Qg/0(1) AAS
1. スレッドA には、Xが存在しない

2. ここで書き込みスレッドが、X を書き込むと、

3. スレッドB には、Xが存在する
15: (アウアウウー Sa27-ml8p [106.132.137.248]) 2018/11/27(火)12:39 ID:gTSgzwA4a(1) AAS
>>13
あります。
16: (ワッチョイ b3af-OcZv [122.24.68.153]) 2018/11/27(火)15:26 ID:r2rVvRkR0(1) AAS
ありまぁ〜す
17: (ワッチョイ 6f9f-zhOP [175.134.57.7]) 2018/11/28(水)01:33 ID:BkKDQWNJ0(1) AAS
>>13
HashMap のドキュメントに Collections.synchronizedMap() を使う方法が書いてある。
それ使った方が自分でゴチャゴチャ考えるより楽だ。
18: (アウアウカー Sacf-ILaU [182.251.220.71]) 2018/11/29(木)21:49 ID:wn8bMma4a(1) AAS
排他ロックが無駄だからいちいち同期するなよ。
concurrent collectionつかえ。その用途ならConcurrentHashMapがあるだろ。
19
(1): (ワッチョイ 22a6-3M3s [123.48.217.134]) 2018/12/06(木)14:31 ID:ncTdmVKO0(1) AAS
ラムダの中でローカル変数のオブジェクトを参照している場合、
そのメソッドを抜けた後そのローカル変数を参照する事は安全ですか?

//in some method
Obj local = new Obj();
GuiPart gui = new GuiPart((event)->local.method(event));
return;//この後ラムダがイベント処理で呼ばれた場合、localは参照可能か?
20: (ブーイモ MMb3-IAAP [210.138.208.29]) [age] 2018/12/06(木)14:37 ID:U/FtrhZGM(1) AAS
>>19
安全に参照可能だよ
自動生成されたクラスのインスタンスフィールドに保持される
1-
あと 982 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.337s*