C#, C♯, C#相談室 Part42
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/08/26(日) 12:42:25前スレ
C#, C♯, C#相談室 Part41
http://pc11.2ch.net/test/read.cgi/tech/1184840053/
過去スレは>>2-5あたり。
0951デフォルトの名無しさん
2007/09/24(月) 19:19:20えーと?
0952デフォルトの名無しさん
2007/09/24(月) 19:37:06…
Jefferyダタヨ…
0953デフォルトの名無しさん
2007/09/24(月) 20:18:04Jeffreyだたな。スマソ。
CLI仕様読んでみたけど、8byte値はnative intと同じアライメントって書いてあるね。
>>952のMSDNマガジンの記事で、
「32bit環境ではlongに対するInterlocked APIはやばい。64bit環境でもお勧めしない」
って書いてあるのは、CLI仕様からすれば確かに納得か。
一応64bit環境なら動くはずだけど適度に恐怖しとけと。
しかしこれStructLayoutでレイアウト指定されたフィールドに対して
Interlocked API使ったりするってパターンでも起きうるな。
コンパイルエラーでも検出できないからやっかいかもね。
0954デフォルトの名無しさん
2007/09/24(月) 22:38:48そしてlongじゃ使っちゃいけないの?
どうなってんのよ
0955デフォルトの名無しさん
2007/09/24(月) 22:40:28重くはないというかむしろ最速。
0956デフォルトの名無しさん
2007/09/24(月) 22:48:06英語だらけで全部読めなかったけどどう解釈したらいい?
32bitCPUでlongのInterlockedを使うと
1. 実は不可分の処理にならない。
2. 実行時にバウンダリー関係の例外になる。
3. なかでこっそりlockを使っていて実は遅い。
0957デフォルトの名無しさん
2007/09/24(月) 22:55:38あるってことなの?
普通のWindows環境でもダメ?
0958デフォルトの名無しさん
2007/09/24(月) 23:07:17何言ってんの?
重いに決まってるだろう、状況によってかなり違うが。
でもその他の同期機構を使うよりは軽い。
でも競合の無いlockはイメージよりはかなり軽い。
Interlocked2回分レベル。
だからInterlockedを何回も使ってるとlockの方がましということもある。
まあ64ビットで使えないのはちょっとどうかと思うけど。
0959デフォルトの名無しさん
2007/09/24(月) 23:23:39中でInt64を好きに使ったらいいんじゃないの
0960デフォルトの名無しさん
2007/09/24(月) 23:29:10重いわけないんじゃねえの
lockが軽いんだろ
0961デフォルトの名無しさん
2007/09/24(月) 23:29:31めちゃめちゃパフォーマンス重視なら知らんけど。
0962デフォルトの名無しさん
2007/09/24(月) 23:31:01それが重いんだろうがw
0963デフォルトの名無しさん
2007/09/24(月) 23:49:31てかlockって内部でInterlocked使ってるよ。
0964デフォルトの名無しさん
2007/09/25(火) 00:18:400966デフォルトの名無しさん
2007/09/25(火) 01:23:16でもそんなの.NET Frameworkのドキュメントの何処にも書いてねぇ!!
おっぱぴー〜(゚з゚)
0967デフォルトの名無しさん
2007/09/25(火) 01:30:313が正解。
64bitマシーンではInt32/Int64とも分割不可な操作が可能。
32bitマシーンではInt32のみ可能でInt64はlockを使っている。
オフセット指定の構造体などでバウンダリーをまたがるケースもlockを行っていると予想できる。
それでMSDNのこの記述。
>したがって、32 ビットのシステムでスレッド セーフにするためには、
>64 ビット値へのすべてのアクセスを Interlocked クラスのメンバを使用して行う必要があります。
ロックを避けるためにInterlockedを使いたいなら、内部でLockが発生しないように注意する必要がある。
0968デフォルトの名無しさん
2007/09/25(火) 01:37:09>>したがって、32 ビットのシステムでスレッド セーフにするためには、
>>64 ビット値へのすべてのアクセスを Interlocked クラスのメンバを使用して行う必要があります。
これは別の意味でそっていうかそうとは限らんでそ。
lock使って無くてもそうなるのは当たり前。
0969デフォルトの名無しさん
2007/09/25(火) 01:39:42そうかいてるように見えるのは気のせい?
>でも競合の無いlockはイメージよりはかなり軽い。
>Interlocked2回分レベル。
0970デフォルトの名無しさん
2007/09/25(火) 01:42:07CLR(2.0)のメモリモデルが意外と強力だから。
0971デフォルトの名無しさん
2007/09/25(火) 03:17:36活用していないということかな?
0972デフォルトの名無しさん
2007/09/25(火) 04:29:360973デフォルトの名無しさん
2007/09/25(火) 12:02:58.NETでは最初から作れたんだな
というかもうあるのか?
0974デフォルトの名無しさん
2007/09/25(火) 12:18:17コンカレントライブラリ確か作成中じゃなかったっけ?
それに含まれたりしないのかなと期待してるんだが…
0975デフォルトの名無しさん
2007/09/25(火) 12:44:05数年内にSoftware Transactional Memory (STM)使ったライブラリが出てきそうな希ガス
MS ResearchにSTMやってる人がいるから調べてみたら?
ttp://channel9.msdn.com/ShowPost.aspx?PostID=232189
0976デフォルトの名無しさん
2007/09/25(火) 13:04:510977デフォルトの名無しさん
2007/09/25(火) 13:09:510978デフォルトの名無しさん
2007/09/25(火) 13:19:13SMXって実は実行時コード生成のたぐいだったんだな。
0979デフォルトの名無しさん
2007/09/25(火) 13:25:36あと最新は1.1か。
ttp://www.cs.brown.edu/~mph/
0980デフォルトの名無しさん
2007/09/25(火) 13:53:120981デフォルトの名無しさん
2007/09/25(火) 14:00:42自分でロックしろってこと?
0982デフォルトの名無しさん
2007/09/25(火) 14:37:55このあたりか。
http://pc11.2ch.net/test/read.cgi/tech/1187008532/19-
0983デフォルトの名無しさん
2007/09/26(水) 02:09:16FirstDisplayedScrollingRowIndexに値を設定すれば自動でスクロールしてくれるけど、ビシッ!とワープしたように動いちゃいます。
ゆっくりというか、滑らかに次の行へ移動したいんですけど、なんかいい方法あるでしょうか?
よろしくお願いします。
0984デフォルトの名無しさん
2007/09/26(水) 06:26:110985デフォルトの名無しさん
2007/09/26(水) 10:24:270986デフォルトの名無しさん
2007/09/26(水) 10:38:04985じゃまったくわからんけど
0987デフォルトの名無しさん
2007/09/26(水) 11:33:100988デフォルトの名無しさん
2007/09/26(水) 11:37:530989デフォルトの名無しさん
2007/09/26(水) 15:16:02同じく萎えた
0990983
2007/09/26(水) 18:40:35>>985
さんが言ってるような感じなんですが、たとえば
FirstDisplayedScrollingRowIndex++;
だと遷移過程が見えないので、そこをユーザが見えるようにスクロールさせたいということです。
そうするとピクセル単位ということになるんですかね・・・。
ピクセル単位で次の行へスクロールさせるにはどうしたらいいんでしょうか?
DataGridViewのメンバ見ててもどれ使えばいいのかわかりませんでした。
0991デフォルトの名無しさん
2007/09/26(水) 18:42:470992デフォルトの名無しさん
2007/09/26(水) 18:49:12案外、985は長嶋茂雄的天才かもしれないじゃないか
0993デフォルトの名無しさん
2007/09/26(水) 19:52:050994デフォルトの名無しさん
2007/09/26(水) 21:08:49C++/CLIとかいうのじゃないと無理なのかなと思うんですが
0995デフォルトの名無しさん
2007/09/26(水) 21:10:060996デフォルトの名無しさん
2007/09/26(水) 21:27:30できるかもしれないけどやめとけ。
http://d.hatena.ne.jp/NyaRuRu/20061019/p3
ttp://blogs.wankuma.com/shannon/archive/2007/01/06/54837.aspx
0997デフォルトの名無しさん
2007/09/26(水) 22:23:08シェル拡張コンポーネントをマネージコードで(俺以外のやつは)作るな。
でOkですね。ありがとうございました。
0998デフォルトの名無しさん
2007/09/27(木) 07:09:191000デフォルトの名無しさん
2007/09/27(木) 07:13:42♪ ,.-r、. / 一
r'7ー-..、 _,.,,_ /::::::ヽ!、 ,' あ 万
//::::::::::::`ヽ、 ,.:'´:::::::`ヽ/:::::::::::::::::Yi i ・ 円
{ !::::::::::::::::::::;>'''"´ ̄ `"''<:;::::::::::!」 ! い と
}.!:::::::::;ゝ'"´::::::::::::::::::::::::::::::::::::::::ヽ;::::!_!. | ・ 二
「/::::::;:':::;::::::::;::::::::::;:::::::;:::::';::::ヽ.:::::::::Y_/ ノ し .千
`ヽ/:::::;':::::/::!:::::::;!::::::ハ::::_!_:::::!::::::!:::!、 / ・ 円
♪ /;'::::::i::::;'::/!-‐/!:::_」 レ'_」_`ハ_レ'::::!:::ヽ. ∠___ て. く
/::i:::::::::i::::i/,.'-‐-´ ´ `!__!):::ハ:::::::〉、 i ・ れ
,rく::::ハ;:::/!_;ハ ,.,. __ ""i::::|::;イ:::';:::/ン' '、 る. た
`'ミ_コ_;ヽi´::!_,i'、 l'´ `; ,.:'!::::!:::!-r'ア´ i \ ら
/::::::;'::i::::!:/`iァ.,、..,,__,,. イ::::!::::|/'´「 | l バン `' 、.,_______
;'::::/!::!::::!::::::,.ィ'ヽ、 /ヽ、!::::!:::::;'! | l l| 人.__
!::/::::::';|:::::!7´ヽ.ヽ /ム //|:::;!ヽ!_| /)、 (
レi:::::::/!::::::!:::::::::V/ ハヘ / レ'_L_ァ'´)' ' ') Y⌒ ☆ バン
'、:/ レ、ハ:::::,,..く. - ''"´」二二二二二二二二二二i
r'",.-/、`ソ´_,,.. - ''"´ | |
/ '´./i ソ´ ! これが 素敵な |
;' /;':::ゝイ | !
! ! i::::::::::'; | 賽 銭 箱 |
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。