[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/27 07:18 / Filesize : 229 KB / Number-of Response : 925
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part52



1 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 10:15:52 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C#, C♯, C#相談室 Part51
pc12.2ch.net/test/read.cgi/tech/1233757615/

Visual C# 2008 Express Edition 日本語版
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

その他テンプレ>>2-5くらい

276 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 08:49:30 ]
object ICollection.SyncRoot
{
get
{
if (this._syncRoot == null)
{
Interlocked.CompareExchange(ref this._syncRoot, new object(), null);
}
return this._syncRoot;
}
}

277 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 11:09:13 ]
説明ありがとうございます。

>>275
列挙している間に別スレッドからの追加・削除処理が入る場合は基本ロックが必要そうですね・・・
そこまで処理速度が必要そうなわけでもないので、ひとまずロックさせて使ってみようと思います。

>>276
結局は内部で専用のロックオブジェクトを提供してくれているだけという感じでしょうか

278 名前:デフォルトの名無しさん [2009/04/21(火) 13:29:20 ]
Shared code , Shared source といった類のキーワードでgoogle先生に聞けば以前はあっさり見つかっていたのに・・・
どこにいったんだろう?
VisualStudioのライブラリソースコード表示の説明リンクを次から1の直下に張り付けておいたら良いと思う。
誰か場所知っていたらリンク張って欲しいです。

>>277
実はソースコードみた方が圧倒的に正確だしてっとりばやい、凄い単純な実装なんで。
www.microsoft.com/downloads/details.aspx?FamilyID=8c09fd61-3f26-4555-ae17-3121b4f51d4d&DisplayLang=en
とりあえず VisualStudio からではないですが、ソースコードです。
ダウンロードしてgrepして探してみてください。

279 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 18:40:07 ]
条件によって異なる複数の変数(string或いはint)を
配列化して(一列に並べて)、各変数に代入するメソッドを変数の個数だけ実行したいのですが、
デリゲートを使うとオーバーロードできないため、Object型を渡して判別するという事も考えたのですが納得できません。
unsafeのポインタを使うべきなのでしょうか。

280 名前:279 mailto:sage [2009/04/21(火) 18:52:28 ]
すみません。具体的に言うと
foreach (string tmp in bufStr)
{
str = DataTypeCheck(tmp);

if (str == null)
{
//・・ここでメソッドを呼び出してそれぞれ代入
}
else if (str == "case1")
{
//・・代入する変数のリストを作成
}
else if (str == "case2")
{
}
}
データ(string[])は以下のようになっており
case1
a
b
case2
・・・
この場合はa,bをcaseに応じた変数に格納します。

281 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 19:23:47 ]
具体的といいつつ酷く分かりづらいな
Func<T>でも使えばいいんじゃね
privateなメソッドなら型制約とかもいらんっしょ

282 名前:279 mailto:sage [2009/04/21(火) 19:53:25 ]
>>281
説明下手で、すみません。
ググりましたが、おそらくお察しの通りです。
感謝いたします。m(_ _)m

283 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 19:00:44 ]
Dispose()のCLRにマネージされていないデータを解放するという説明を読んで思ったのだけど、
CLRにマネージされてるかどうかってのはつまりどういう事なの?

284 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 19:12:25 ]
ざっくりいってIDisposableがマネージド、IntPtrがアンマネージド



285 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 19:23:50 ]
>>283
C++なんかだと、COMやスマートポインタを使って、リファレンスカウンタで生存管理をしているんだが
この方式だと、参照がなくなると同時に解放処理がされる。
対して、ガベージコレクタを使った.NETでは解放処理はメモリーが尽きたとき。
で、C++では参照がなくなると同時に解放処理を行う事を前提に組んであるケースが多いんだ。
だからC++の場合ちゃんとリファレンスカウンタで管理されているファイルシステムオブジェクトなどはこのタイミングでClose処理もされるのでCloseを忘れていても大丈夫
アンマネージをラップしたクラスを作るとこれが問題になることがある、これ明示的に開放する関数がDisposeだよという意味。
あくまでもラップした先のオブジェクトの解法、ラッパ事態はマネージドなので、ガベージコレクタで解放される。
たとえば.NETでStream系のオブジェクトでこれを忘れていると、Closeしわすれているとガベージコレクタで回収されるまでOpenされっぱなし。

286 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 19:42:28 ]
>>283
CLRの関与していないところで確保したもの。主にWin32ハンドルとか。

287 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 13:27:12 ]
IntPtrにAPIで取得したハンドルなんかもIntPtr.Zeroとかやった方が
いいんですかね…。基本的にマネージド以外の方法で取得したものは
全て何かしらの処理を加えた方がいいんでしょうか。

288 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 13:35:57 ]
意味が分からん
アンマネージドリソースの解放ってのはIntPtr.Zeroを変数に代入することじゃないぞ
CloseHandleとかDeleteObjectとかのAPI関数呼び出しのことだぞ
処理した方がいいかどうかじゃない、必要な手順で解放する必要がある
もちろんシステムグローバルな値とかでその必要が無いものもあるがな、ウィンドウハンドルみたいな

289 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 14:14:38 ]
請求書捨てても借金ちゃらにならない感じ

290 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 22:32:21 ]
あとIntPtrを生で使うんじゃなくてSafeHandle使え

291 名前:デフォルトの名無しさん [2009/04/23(木) 22:37:01 ]
VisualStudio2008のツールボックスで使われているみたいな、プッシュピンで表示/非表示を切り替えられるGUIは、.
Netの標準コントロールとしては提供されていないのでしょうか?
市販コントロールには似たようなものがあるようなのですが。
よろしくお願いします。

292 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 22:48:19 ]
標準には無い

293 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 23:42:08 ]
オレそれ市販の買おうか真剣に悩んでる。
devexpressの試用版DLしたとこ。

294 名前:デフォルトの名無しさん [2009/04/24(金) 00:05:34 ]
>>292,293
残念です。Microsoftも便利な部品はどんどん使えるようにして欲しいですね。



295 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 00:11:37 ]
>>294
どんどんしてるんだけど、今、SilverlightとかASP.NETとかの優先順位がむちゃくちゃ高いから、
VS風ドックコントロールは、ちょっとやそっとの要望あっても当分後回しになると思う。


296 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 08:36:28 ]
>>287
API直接操作するなら、APIの仕様通りに使わないとアカンで
マネージド側の特徴もちゃんと考慮して、アンマネージドの処理がアンマネージドの仕様に合うように。

297 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 09:05:35 ]
【知的財産】中国:ITソースコード強制開示強行へ・制度を5月に発足…国際問題化の懸念 [09/04/24]
anchorage.2ch.net/test/read.cgi/bizplus/1240524654/

298 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 16:20:35 ]
質問ですが、Flashのムービークリップの様に、
同じ性質を持ったオブジェクトの中にオブジェクトを上限なく動的に入れる方法はありませんか?

299 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 16:29:21 ]
List<T> じゃあかんの?

300 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 16:32:52 ]
表示上のオブジェクトという話かな?XAMLでどうよ。


301 名前:298 mailto:sage [2009/04/26(日) 16:56:29 ]
>299-300
ありがとうございます。そこまで複雑な事ではないです。

302 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 17:06:03 ]
じゃあどういうことよ、なのよ

303 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 17:09:44 ]
int[] array = new int[999999];
とでもやって多めに確保しとけ

304 名前:デフォルトの名無しさん [2009/04/26(日) 17:11:07 ]
>>301
むしろ>>298の説明のほうがそれいじょうに複雑なことではあります



305 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 18:35:03 ]
Compositパターンのことを言ってるんじゃないの?

306 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 18:35:51 ]
「コンポジットパターン」と言いたいんじゃないかな?
ということで、これでぐぐってみてください。

307 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 08:52:01 ]
このスレはやさしいエスパーが多いな

308 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 00:51:39 ]
FormBorderStyle.Noneにして標準のタイトルバーとか表示させないで独自のものを表示したりしています。
タスクバーの右クリックでのシステムメニューは下のURL等を見て表示できるようになったんですが、最小化などが無効になったままです。
これは何かメッセージを処理したりすれば有効にさせることなど出来るのでしょうか?
最大化などもFormのWindowStateをNormalのまま最大化らしくふるまうように無理くりやっています。

もしくはこんな風な独自のウィンドウを作る時の従うべき方針などあれば是非是非エロイ人

309 名前:308 mailto:sage [2009/04/28(火) 01:11:26 ]
さーせん、const int WS_MINIMIZEBOX = 0x20000;
とかをCreateParamsのStyleに追加したら最小化も表示されたっす。


310 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 01:39:19 ]
Graphicsに任意のControlを描画することって出来ます?
var webControl=new WebControl()
webControl.Draw(graphics);
みたいな感じで。


311 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 01:44:28 ]
Excel 2003 vbaの関数をC#から呼んでるんですが
実行時にvba内のブレークポイントで処理を止めるには
どうしたらいいんでしょうか。

312 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 02:05:10 ]
>>310
でやってみていかがでしたか?

313 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:41:06 ]
public partial class Form1 : Form
{
[DllImport("libmecab.dll")]
extern static int mecab_new2(string arg);
[DllImport("libmecab.dll")]
extern static string mecab_sparse_tostr(int m, string str);
[DllImport("libmecab.dll")]
extern static void mecab_destroy(int m);

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
int mecab = mecab_new2("");
string s = mecab_sparse_tostr(mecab,textBox1.Text);
mecab_destroy(mecab);
textBox2.Text = s;
}
}

これがXPでは動くのだけど、Vistaでは動かない。

mecab_sparse_tostr(mecab,textBox1.Text); で
System.AccessViolationException はハンドルされませんでした。
Message="保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。"
がでる。
意味がわからない。なぜ?

314 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:51:15 ]
そのメカブってどこからもってきてんのよ



315 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:55:02 ]
これ。
mecab.sourceforge.net/libmecab.html


316 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:55:19 ]
オレも何かメカブそば食いたくなったわw

317 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:58:36 ]
実はVista x64版だったというオチ、とか

318 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:04:16 ]
>>317
それはさすがに大丈夫だった。
また、Mecabインストール時についてくるEXEは、普通に動きます。

319 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:06:30 ]
とりあえずpInvoke行って宣言正しいかみてこようず

320 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:37:13 ]
>>313
いま実際に動かしてみた
返値がStringだとマーシャラがギブアップするみたい
IntPtrで受けてMarshal.PtrToStringAnsiとかで文字列変換すべし

321 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 21:21:30 ]
ref string でもいけそうな気がする。

322 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 21:28:24 ]
返値にrefは使えない

エラーが出る原因だけど、あくまで推測レベルだが
返値にStringを指定した場合UnmanagedType.BStrならSysFreeStringが、
それ以外ならLocalFreeだかCoTaskMemFreeだかが自動的に呼び出されたはずなんで
メモリ周りの保護の強化との兼ね合いと思われる

323 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 22:10:13 ]
>>320 >>322
ありがとう。XP、Vista両方動いた。


324 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 09:23:57 ]
DataGridviewって動的列つかったCross集計もできないし機能ショボスギですね 代わりにMSレポートのマトリックス使ってますが将来DataGridviewにGrapeCityのGridみたいな機能が付加されることはないでしょうか



325 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 11:46:10 ]
高機能すぎると独禁法が面倒なんだ

326 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 14:35:30 ]
コンポーネントは機能が少ないほど良い。

327 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 19:31:39 ]
×コンポーネントは機能が少ないほど良い。
○コンポーネントは機能が洗練されているほど良い。

328 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 21:23:18 ]
>>326機能ゼロが最高だよね。

329 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 21:52:40 ]
せめてAlt+F4で終了する機能ぐらいはつけてくれ

330 名前:デフォルトの名無しさん [2009/04/30(木) 22:54:12 ]
ListView を View == Details で使っていて、
選択された行をタブ区切りでクリップボードに転送してみようと思っているのですが
簡単な方法もしくは、一般にListViewからクリップボードへの定型的なやり方ってありますか?

331 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 23:02:53 ]
1パターンしかないと思うが 細かい差異はあるかも知れんけど

332 名前:デフォルトの名無しさん [2009/05/01(金) 02:27:08 ]
C++で
const int data[] = {1, 2, 3, 4};
のようにやっていたのを

C#で書き直したいんだけど、
const int[] data = {1, 2, 3, 4};
とか
const int[] data = new int[]{1, 2, 3, 4};
って書くと文句言われる。

int[] data = {1, 2, 3, 4};
なら、文句言われなくなるんだけど、

C#でconst配列の初期化ってどうすればいいの?

333 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 02:29:31 ]
そんなもの無い
dataそのものへの代入不可ならreadonly
要素の変更不可ならReadOnlyCollection<T>でラップ

334 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 02:31:20 ]
private readonly int[] data = new int[] {1,2,3,4};



335 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 11:22:09 ]
>>334
配列の要素に書き込めます

336 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 11:37:53 ]
>C++で
>const int data[] = {1, 2, 3, 4};
は要素の書き換え可なの?

337 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 12:22:30 ]
>>336
それは
int const data[] = ...
と同義だから、constはintに掛かってて、要素は書き換えられない。

338 名前:デフォルトの名無しさん [2009/05/01(金) 13:03:46 ]
スレ違いだが、

>>336
要素の書き換えは不可。

>>337
前半がウソ。それは同義ではない。

339 名前:337 mailto:sage [2009/05/01(金) 13:40:55 ]
ごめん適当に書いたんだけど、C++とCで違いがあるの?
リンケージ変わったりとか?

340 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 14:16:41 ]
static または auto に宣言しているなら変わらないかと、つか C# スレですが
専門のスレで聞いた方が良いで

341 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 14:21:46 ]
>>335
readonly System.Collections.ObjectModel.ReadOnlyCollection<int> data = Array.AsReadOnly(new int[] { 1, 2, 3 });
こうかな、使ったことないんで自分で確かめてくれ。

342 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 14:23:28 ]
読み取り専用その他、各種アダプタ類は、class に static 関数として定義されている事が多いんで、いろいろ見てくらはい。

343 名前:デフォルトの名無しさん [2009/05/01(金) 16:36:37 ]
メインのフォームから別スレッドを起動して、そのスレッドからフォームのテキストボックスにアクセスすると
CrossThreadMessagingExceptionが投げられるのですが、どのように回避するのが良いでしょうか?

344 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 16:42:06 ]
コントロール スレッド でぐぐれ



345 名前:デフォルトの名無しさん [2009/05/01(金) 17:48:18 ]
スレッドをAbort()した後に、同じスレッドをStart()すると、
ThreadStateException
{"スレッドが実行中か、または終了しています。再起動できません。"}
が投げられます。

一度Abort()したスレッドを再開するにはどうすればよいでしょうか?
毎回new Threadをし直す必要があるのでしょうか?
できれば、new Threadはアプリ起動時に1度だけで済ませたいです。

346 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 18:00:27 ]
メッセージどおり、Abortしたら再起動はできない
つーかAbortなんか使っちゃダメ SuspendとかResumeとかも禁止
フラグとかでスレッド自身が自分の状態を管理するようにする

別にThread作りなおしてもかまわんとは思うが

347 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 18:08:39 ]
自分も独学でフラグで誤魔化したので、
スレッドの待機をメッセージが無い.NETでどうするか疑問だった

マジでみんなフラグ管理で逃がしてるの?

348 名前:デフォルトの名無しさん [2009/05/01(金) 18:48:39 ]
>>346
Resume、Suspendは「使用しないでください」と書いてありますが、Aboteには書いていません。
何故、Abortを使うのはダメとおっしゃっているのでしょうか?

349 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 18:52:43 ]
>>348 マジ?どこどこ??

350 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 18:56:26 ]
>>348
メモとかに書いてるっしょ どこで終了するか分からないからオブジェクトが不完全な状態になりうるとか
更には確実に終了されるかどうか保証できないとか実にやばそうな匂いが漂ってくる

351 名前:デフォルトの名無しさん [2009/05/01(金) 19:14:36 ]
>>349
Visual C# Express 2008のインテリセンス

>>350
そうは書いていないようです

352 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 19:26:48 ]
インテリセンスて
ヘルプの解説見ろよ……

353 名前:デフォルトの名無しさん [2009/05/01(金) 19:35:28 ]
>>352
ヘルプの解説でも、
SuspendとResumeの項には
「メモ : このメソッドは,互換性のために残されています。」
「[ObsoleteAttribute("Thread.Resume has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources. go.microsoft.com/fwlink/?linkid=14202", false)] 」
とありますが、
Abortの項にはありません。

詳しくはヘルプをご覧ください。

354 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 20:21:44 ]
Thread.Sleep() に Timeout.Infinite を渡す。
再開は Thread.Interrupt() で ThreadInterruptedException をスローさせる。



355 名前:347 mailto:sage [2009/05/01(金) 21:40:05 ]
さんくす

Thread.Interruptのコード例でsleepSwitchフラグの位置がイマイチ納得いかなかったけど
>>354に書いてあるように使うよ

356 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 22:04:03 ]
>>347
一般にはフラグは使わない、イベントやセマフォやミューテックスの類を使って制御する。
フラグは簡単にミスするしバグりやすいよ、CPUパワーは無駄にするし、スレッドの実行優先順位も狂って非効率になる。

357 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 22:10:40 ]
再開はそれでいいんだけど休止をどう伝えるのかイメージつかないんですが

358 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 22:25:42 ]
>Thread.Interruptのコード例でsleepSwitchフラグの位置
デバッガで確認したけど、Thread.SpinWait(10000000);の行には行かないね。
シングルコアだとJoin呼ぶまでスレッド動かないからだね。
試しにInterrupt()のあとでThread.Sleep()入れてメインスレッドをスリープ待機に
入れちゃうとThread.SpinWait(10000000);がThreadInterruptedException起こすし。
マルチコアだと動かないんじゃないか?このサンプル。

359 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 22:48:07 ]
>>357
メモリ操作オンリーの計算なら止めてしまっても問題ないと思うが
普通にいろいろなリソースを操作しているなら勝手なタイミングで止められたらマズくね?
もちろん上記のような特殊な状況があるならそれこそSuspendしちまっても全然問題ないと思われますけど。
普通の状況では、イベントを確認して問題なければそこで止める。

360 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:04:40 ]
Sleepする前にInterruptされていたら停まらないでThreadInterruptedException起こすし
問題ないかを確認するのはInterruptする側でしろということじゃないかな。

361 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:07:19 ]
なんつーか、AbortにしてもInterruptにしても、これらの操作はスレッドに対する最終手段だぜ
普通に使うものじゃない

362 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:09:02 ]
同期を使わないなんてアリエナイ。

363 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:11:25 ]
いや、開発するアプリの種類によるか・・・
スレッド自体、使わない人は使わないんだし。

364 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:11:48 ]
スレッドの外部から停止再開させたいなら、同期オブジェクトを使おうが
結局フラグ的な使い方をすることになりそうな気がする。




365 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:13:55 ]
>>364
フラグだとvolatile付け忘れたり、メモリーバリア忘れたり、素人には難しいぞ。

366 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:23:06 ]
ManualResetEvent だともろフラグだ。

そういえばBackgroundWorkerの実装をみると
volatileもmemorybarrierも使ってなかったのを思い出した。

367 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:24:28 ]
つかEventはマルチスレッド用のフラグですから
セマフォはマルチスレッド用のカウンタですから

368 名前:358 mailto:sage [2009/05/02(土) 03:35:46 ]
嘘こいてた。

>入れちゃうとThread.SpinWait(10000000);がThreadInterruptedException起こすし。
起きない。そもそも待機してない風?
>スレッドを iterations パラメータで定義した時間の間待機させます。
ってヘルプにあるのに・・・ある・・・定義した時間って単位はいくらだ?フェムト秒?
Causes a thread to wait the number of times defined by the iterations parameter.
・・・誤訳かよ!
待機とブロックと中断の用語がなんか変な気もするし。日本語ヘルプはだめすぐる。

369 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 03:40:54 ]
WCFとかAzureの質問ってここでしていいのかな。

Azure SDKのdevelopment fabric上でWCFサービスを動かすと、
127.0.0.1からはアクセスできるのに、自分のホスト名から叩くとアクセスできなくて、
俺の設定ミスなのかAzure SDKのバグなのか分からないんだけど。

解決策を知ってる人がいたら教えて欲しい。

370 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 03:56:03 ]
切り分けしようぜ

371 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 03:56:30 ]
手元に無いんで試してないがエスパーしてみると
リスナーでIPAddress.Anyとすべきところがそうなってないとか

372 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 10:20:58 ]
>設定ミスなのかAzure SDKのバグ

自分のプログラムが悪いとはこれっぽっちも考えてないのね

373 名前:デフォルトの名無しさん [2009/05/03(日) 11:22:10 ]
>>372
「俺」って言うのは日本語で「自分」を示す一人称の一つだよ。

374 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 11:42:24 ]
設定ミスと考えてるってことはプログラムは悪くないと思ってるってことだろ



375 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 11:44:41 ]
設定はプログラムでするだろ

376 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 12:15:09 ]
何言い返してんだよ、本人か?
そうでなけりゃ、自分のプログラムミスを設定ミスと言い直してごまかす人か?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<229KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef