问题列表 - 第15887页

java nio Selector唤醒

请指出/提供selector.wakeup();两个线程之间方法的工作示例.

我试图创建一个简单的程序,其中一个线程正在等待selector.select()方法.第二个线程创建一些套接字并尝试向选择器注册; 第一个线程被阻止的位置.

因此我需要使用选择器的wakeup方法,但不知何故,第一个线程不会出现阻塞模式.

唤醒方法的javadoc说明:

如果在调用Selector.select()或Selector.select(long)方法时当前阻止了另一个线程,则该调用将立即返回.

PS其他几种解决办法; 其中一个是选择(超时)但我试图找出错误的位置.

伪代码:

第一线:

static Selector selector = Selector.open();
while(true) {
   int n = selectorGlobal.select();
   selectorKeySet = selectorGlobal.selectedKeys().iterator();
   while (selectorKeySet.hasNext()) {
      selectionKey = selectorKeySet.next();
      if (selectionKey.isReadable()) {
         //do something
      }
      if(selectionKey.isAcceptable()) {
         //accept
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

第二线:

while (itr.hasNext()) { 
   data = (String) itr.next();
   String IP = data.get(0);
   String Port = data.get(1);

   SocketChannel socketChannel = SocketChannel.open();
   socketChannel.configureBlocking(true);
   boolean isConnected = socketChannel.connect(new InetSocketAddress(IP, Port));
   ClassName.selector.wakeup();
   SelectionKey selectionKey = SelectSockets.registerChannel(ClassName.selector,
                socketChannel, SelectionKey.OP_READ); …
Run Code Online (Sandbox Code Playgroud)

java nio

6
推荐指数
1
解决办法
5449
查看次数

SQL Server 2005 Management Studio - 恢复意外关闭选项卡

如果未保存的标签被意外关闭,有没有办法做到这一点?

sql-server-2005

6
推荐指数
2
解决办法
9180
查看次数

两对多数据关系应该被视为多对多吗?

我有2个数据库表:团队和游戏.

出于这个问题的目的,我们正在处理足球(足球)队和比赛.

每场比赛都有2支球队,通常是主队和客队,尽管偶尔两支球队都可以保持中立.

我的问题是我是否应该使用Games表中的2个外键(home_team_id,away_team_id)表示这种数据关系,或者我是否应该使用与games_teams表的多对多关系来链接这两者,在这种情况下我需要还可以存储球队是主队还是客队,看起来有点矫枉过正.

为了增加混乱,我在KohanaPHP中使用ORM库,这些期望fk被称为team_id或链接表只包含2列.如果您在KohanaPHP遇到此问题,请留下回复,否则任何一般性建议也非常感谢.

php mysql database kohana foreign-key-relationship

3
推荐指数
2
解决办法
1271
查看次数

将Cobol copybook转换为XSD

有没有人知道从Cobol Copybook转换为XSD的工具?或XML.

xml xsd cobol copybook

5
推荐指数
1
解决办法
8355
查看次数

如何使用"与桌面交互"从调度程序运行Windows 2008任务

我有一个小型的.NET应用程序,我通过任务计划程序在Windows 2008 Server下运行.此应用程序需要打开一个excel文件,然后将其保存为csv.我尝试打开工作簿时任务失败.如果我在没有任务调度程序运行它的情况下手动运行它,该应用程序工作正常.

我将其设置为"以最高权限运行"并选中"运行天气用户是否已登录".

我的猜测是这个过程需要与桌面交互,类似于检查服务上的"与桌面交互"标志.但是我无法为计划任务找到类似的东西.

这是失败的代码:(它在workbook.open调用失败)

public static void ConvertExcelToCsv(string source, string destination)
{
    if (File.Exists(destination)) File.Delete(destination);

    Application xl = new Application();

    try
    {
        Workbook workbook = xl.Workbooks.Open(source, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
        Worksheet ws = (Worksheet)workbook.Sheets[1];
        ws.SaveAs(destination, XlFileFormat.xlCSV, Type.Missing, Type.Missing, false, false, Type.Missing, Type.Missing, Type.Missing,true);

        Marshal.ReleaseComObject(ws);
    }
    finally
    {
        xl.DisplayAlerts = false;
        xl.Quit();

        Marshal.ReleaseComObject(xl);                
    }

}
Run Code Online (Sandbox Code Playgroud)

excel scheduled-tasks task

9
推荐指数
1
解决办法
1万
查看次数

将SQLite DB文件转换为"LINQ to SQL",如SQLMetal.exe

如何将SQLite DB文件转换为LINQ ORM文件?有没有像SQLMetal.exe这样的实用程序?

sql linq sqlite

2
推荐指数
1
解决办法
1694
查看次数

如何为SQLAlchemy编写外部方言?

我为SQLAlchemy写了一个最小的数据库方言,它实际上并不属于核心.如何使其作为自己的Python包工作?

sqlalchemy

18
推荐指数
2
解决办法
4092
查看次数

在服务器端处理非常大的http上传和下载的最佳方法

我有一个即将到来的项目,我需要处理来自浏览器的非常大的上传(经典输入类型="文件"或Java小程序),并寻找在服务器上完成工作的最佳工具.

论文是我需要的东西:

  • 服务器上的内存消耗很低
  • 能够将文件保存在服务器上的最终目的地(不复制文件)
  • 没有阻止网络服务器完成的其他重要任务
  • 处理高达2 GB的文件
  • 文件授权(权限将在应用程序中给出)

我仍然对使用什么技术有一定的自由度,所以我想提出一些建议,以便能够选择服务器上的最佳技术来处理这项任务:

  • ASP.NET?
  • Java?
  • 亚马逊S3?
  • 其他选择?

我更习惯微软堆栈,但愿意在必要时改变:如上所述,我只是在找工作的最佳工具.

谢谢 !

更新: 服务器端是我对此问题非常感兴趣的部分,而不是客户端.

看起来它可能是微不足道的,但是当你开始挖掘时,你会看到.NET的4 Mb限制,使用大量内存的下载,可以阻止其他线程(当你对线程数有限制时,如果一个线程可以通过互联网在2 Gb文件上传/下载期间执行:那么这不会很好地扩展,是吗?)等等.

upload file-upload web-applications large-file-upload

4
推荐指数
1
解决办法
6952
查看次数

Css特异性:最后一个孩子

我想使用以下内容来定位我div中最后一个ul的最后一个链接(a).所以这就是我想到的:

#menu ul:last-child li a {
       /*.....*/
}
Run Code Online (Sandbox Code Playgroud)

我不能手动向该元素添加一个类,即使我想动态地执行它,我仍然必须以上述方式定位元素.

任何想法为什么这不起作用?

css css-selectors css-specificity

2
推荐指数
1
解决办法
4万
查看次数

C# - DataGridView和SelectedCells - 查找所选单元格的行索引

请求DataGridView返回"已选择单元格的行的索引"的最简洁方法是什么?这与DataGridView.SelectedRows不同.我不允许选择行或列.因此用户必须选择单元格块.我只需要找出哪些行中选择了单元格.

我应该使用一些聪明的lambda表达式吗?你会怎么做?

如果这有帮助:在我写的代码中,我已经从DataGridView继承而且我在我自己的自定义类DataGridViewExt中.

.net c# datagridview winforms

5
推荐指数
1
解决办法
7735
查看次数