C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: java.nio.channels.Selectorの挙動


(過去ログ 55 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■31159 / inTopicNo.1)  java.nio.channels.Selectorの挙動
  
□投稿者/ 今川 美保 (1回)-(2009/01/15(Thu) 18:11:57)
今川 美保 さんの Web サイト

分類:[Java] 

こんにちは、お疲れ様です、今川こと夏椰です。

ここで疑問を解決するためのミニマムソースを張ろうとすると、
受け付けてもらえなかったので、
techbank.jpの私のBLOGに内容を書いた上で、
こちらでも質問させてください。

該当BLOG記事は
http://techbank.jp/Community/blogs/kaya/archive/2009/01/15/4381.aspx
になります。

起きている問題は、
クライアントとサーバの通信プログラムにて、データ送受信に遅延が発生する事です。

この問題はBLOGにも書きましたが、
WindowsXPSP3、Linuxでは問題なく即時通信するのですが、
AIX5.3の場合だけ、発生しています。


プログラムの作りとしては
java.nio.channels.Selector#select(long timeout)で登録した
SelectionKey.OP_WRITEのキーが取得されない現象が起きています。
# Java Doc(v6のだけど) http://java.sun.com/javase/ja/6/docs/ja/api/java/nio/channels/Selector.html
# デバッグしてもSelector#selectでとまりやがる・・・


IBMのサイトにも同様の問題が上がっていると、同僚から聞きましたが
皆様で、なにか情報をお持ちだったら教えてください。

回避方法としてSelector#wakeup()を使ってもみたんですが、
遅延は解消されず・・・。

引用返信 編集キー/
■31214 / inTopicNo.2)  Re[1]: java.nio.channels.Selectorの挙動
□投稿者/ 今川 美保 (2回)-(2009/01/16(Fri) 16:58:21)
今川 美保 さんの Web サイト
自己レスです。

AIX版のJavaで通信のSelector.select(long timeout)の前に、
Thread.yield
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Thread.html#yield()
をかけたところ、遅延がなくなりました。

そのyieldが入ったソースはtechbank.jpのBLOGに記載してあります。
http://techbank.jp/Community/blogs/kaya/archive/2009/01/16/4397.aspx


No31159 (今川 美保 さん) に返信
> こんにちは、お疲れ様です、今川こと夏椰です。
>
> ここで疑問を解決するためのミニマムソースを張ろうとすると、
> 受け付けてもらえなかったので、
> techbank.jpの私のBLOGに内容を書いた上で、
> こちらでも質問させてください。
>
> 該当BLOG記事は
> http://techbank.jp/Community/blogs/kaya/archive/2009/01/15/4381.aspx
> になります。
>
> 起きている問題は、
> クライアントとサーバの通信プログラムにて、データ送受信に遅延が発生する事です。
>
> この問題はBLOGにも書きましたが、
> WindowsXPSP3、Linuxでは問題なく即時通信するのですが、
> AIX5.3の場合だけ、発生しています。
>
>
> プログラムの作りとしては
> java.nio.channels.Selector#select(long timeout)で登録した
> SelectionKey.OP_WRITEのキーが取得されない現象が起きています。
> # Java Doc(v6のだけど) http://java.sun.com/javase/ja/6/docs/ja/api/java/nio/channels/Selector.html
> # デバッグしてもSelector#selectでとまりやがる・・・
>
>
> IBMのサイトにも同様の問題が上がっていると、同僚から聞きましたが
> 皆様で、なにか情報をお持ちだったら教えてください。
>
> 回避方法としてSelector#wakeup()を使ってもみたんですが、
> 遅延は解消されず・・・。
>
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -