问题列表 - 第17269页

用Java限制线程执行处理器周期

我正在为竞赛编写AI测试框架.参与者提交与给定界面匹配的Bot类.然后所有的机器人都玩转弯游戏.在每一个转弯,我想做以下事情:

For every bot B:
    start a thread that runs at most N cycles and does B.getNextMove()
wait for all threads to complete
Make all moves (from each bot).
Run Code Online (Sandbox Code Playgroud)

我的困难在于"最多N次循环".我可以按时间限制所有机器人(比如每回合半秒),但这意味着有些人可以获得比其他人更多的处理器周期,并且不允许严格的"你的机器人应该能够做出决定:转向X时间"在比赛中的要求.

如上所述,这是Java.有任何想法吗?我一直在关注并发和锁定,但这并不是正确的方向.此外,有可能不在Parralel运行机器人,然后使用时间进行限制(假设计算机当时没有运行任何其他东西),但这是不可取的,因为它会显着降低我们的速度可能有游戏的结果.

java multithreading artificial-intelligence

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

在LINQ Select期间访问递增的整数

Dim project = new Project(1)
Dim tasks = Task.GetTasks()
Return <?xml version="1.0" encoding="UTF-8"?>
               <Project xmlns="http://schemas.microsoft.com/project">
                   <Name><%= project.name %></Name>
                   <Tasks>
                       <%= tasks.Select(Function(t) _
                           <Task>
                               <ID><%= tasks.IndexOf(t) + 1 %></ID>                               
                           </Task> _
                           ) %>
                   </Tasks>
               </Project>
Run Code Online (Sandbox Code Playgroud)

我试图tasks.IndexOf(t) + 1用一些更简单的东西来取代.这有什么内置功能吗?

Hrmm xml文字在这里似乎没有很好的翻译....

c# vb.net

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

通过WCF发送图像的有效方式?

我正在学习WCF,LINQ和其他一些技术,从头开始编写自定义远程控制应用程序,如VNC.我在创建它时考虑到三个主要目标:

  1. 服务器将在应用程序级别(即无缝窗口)上提供"远程控制",而不是完全桌面访问.
  2. 客户端可以选择服务器上运行的任意数量的应用程序,并接收每个应用程序的图像流.
  3. 客户端可以同时连接到多个服务器.

现在我正在使用WCF发送一个表示正在发送的窗口的字节数组:

using (var ms = new MemoryStream()) {
    window.GetBitmap().Save(ms, ImageFormat.Jpeg);
    frame.Snapshot = ms.ToArray();
}
Run Code Online (Sandbox Code Playgroud)

GetBitmap实现:

var wRectangle = GetRectangle();
var image = new Bitmap(wRectangle.Width, wRectangle.Height);
var gfx = Graphics.FromImage(image);

gfx.CopyFromScreen(wRectangle.Left, wRectangle.Top, 0, 0, wRectangle.Size, CopyPixelOperation.SourceCopy);

return image;
Run Code Online (Sandbox Code Playgroud)

它然后通过WCF(TCPBinding,它将始终通过LAN)发送到客户端,并在没有边框的空白窗口形式重建,如下所示:

using (var ms = new MemoryStream(_currentFrame.Snapshot))
{
    BackgroundImage = Image.FromStream(ms);
}
Run Code Online (Sandbox Code Playgroud)

我希望这个过程在CPU和内存使用方面尽可能高效,带宽排在第三位.我的目标是让客户端连接到5台服务器,每台服务器有10多个应用程序.

我现有的方法是最好的方法(同时继续使用这些技术)并且我能做些什么来改进它?

我正在研究的想法(但我没有经验):

  • 使用开源图形库来捕获和保存图像,而不是.Net解决方案.
  • 保存为PNG或其他图像类型而不是JPG.
  • 每次发送图像增量而不是完整图像.
  • 尝试并"记录"窗口并创建压缩视频流而不是图片快照(mpeg?).

c# wcf

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

用图案替换开关/外壳

在后面的代码中,我的代码与此示例非常相似三次.每次交换机切换到发送给它的选项.每次案例中的代码完全相同,除了基于案例的参数.使用开关/盒和方法最好的方法吗?我是否应该考虑使用某种类型的设计模式来避免重复开关/案例结构?

string option = dropDownList.SelectedValue.ToString();
switch (option.ToUpper())
{
    case "ALPHA":
        // do repeative code method here; only change is a parameter
        break;
    case "BRAVO":
        // do repeative code method here; only change is a parameter
        break;
    case "CHARLIE":
        // do repeative code method here; only change is a parameter
        break;
    case "DELTA":
        // do repeative code method here; only change is a parameter
        break;
    default:
        break;
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net design-patterns

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

当使用JavaScript来阻止表单提交时,强制Safari表单自动填充条目

我希望Safari的表单自动填充功能可以在我的网络应用程序中处理表单.我们阻止了所有表单的提交事件,而是通过XHR(Ajax)POST将数据发送到服务器.

问题是,Safari在其自动填充(自动填充)"数据库"中创建新条目的默认值要求表单的提交事件一直触发冒泡.从我的测试中,这是我总结并用于表单GET和POST方法.

Firefox中存在此问题; 我们所有的表单都保留了为每个字段"提交"的先前值.这是我们在Safari中想要的行为.

在我们的应用程序中,用户将在多个会话中多次填写相同的表单.在某些情况下,浏览器可以根据用户之前提交的值自动完成(在Safari的情况下自动填充)这些字段.

我想知道是否有其他人遇到过Safari这个问题?更好的是,如果他们有一个解决方案(即使特定于Safari)告诉(或强制)Safari将表单字段值保存到其自动填充数据库中,即使表单的提交事件被阻止了?

我在DOM中尝试过preventDefault()更高版本,让提交事件冒泡到表单的父DOM节点; 行为没有区别.这可能只是Safari中的一个bug ...

javascript forms safari autocomplete form-submit

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

请帮我用jquery替换字符串模式

使用推特显示小部件,需要添加链接到哈希标签.所以我需要一个模式替换,替换以hash/pound符号开头的每个字符串,并以twitter搜索链接结束空格.我非常笨拙w/jquery - 有人能指出我正确的方向 - 谢谢,任何人!

带我的东西:

// FROM:
<ul id="tweets">
     <li>Some nutty tweet. #nutty</li>
     <li>A fruity tweet here. #fruity</li>
</ul>

// TO:
<ul id="tweets">
     <li>Some nutty tweet. <a href="http://twitter.com/search?q=%23nutty">#nutty</a></li>
     <li>A fruity tweet here. http://twitter.com/search?q=%23fruity">#fruity</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

jquery pattern-matching

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

有64位Ruby吗?

似乎人们正在为64位平台编译MRI Ruby(1.8.7).我一直在寻找和阅读一段时间而没有真正得到我想要的答案.我想知道的是,如果你们中的任何人实际上在Ruby中使用了超过4GB的内存?如果以这种方式编译,Ruby真的是64位吗?

我在源代码中发现了注释,表明它没有在64位上进行测试.例如,它说"BigDecimal尚未在64位整数系统上编译和测试." BigDecimal的评论中.

了解Ruby的其他实现如何以64位进行操作也很有趣.

ruby 64-bit

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

通过子查询更新,如果子查询没有返回任何行,该怎么办?

我在UPDATE中使用子查询:

UPDATE tableA 
SET x,y,z = ( (SELECT x, y, z 
               FROM tableB b
               WHERE tableA.id = b.id
                 AND (tableA.x != b.x
                      OR tableA.y != b.y
                      OR tableA.z != b.z))) );
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果子查询没有返回任何行会发生什么?它会用null做更新吗?

其次,有没有更好的方法来写这个.我基本上从tableB更新tableA中的三个字段,但只有当三个字段中的任何一个不同时才会发生更新.

sql database informix subquery sql-update

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

如何从布局文件将变量传递到grails模板?

所以我有一个导航模板(/common/_navigation.gsp),它在Grails项目主布局文件(/layouts/main.gsp)中呈现.如何将某些变量/参数/ arg从单个视图文件传递到布局并最终传递到导航模板中?我只是希望当我在页面上时突出显示正确的选项卡.

(我们已经尝试过使用Grails Navigation Plugin.由于我们有不同的标签指向相同的控制器(相同的视图,不同的过滤器),它会崩溃.)

grails layout templates

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

从开放'fancybox'中的功能关闭精美的盒子

大家好我希望能够从内部打开时关闭fancyBox.

我尝试了以下但无济于事:

function closeFancyBox(html){
    var re = /.*Element insert complete!.*/gi;
    if( html.search( re ) == 0 ){
        $.fancybox.close();
        //alert("foo");
    }
}
Run Code Online (Sandbox Code Playgroud)

foo将在对话框中打开但不会关闭.任何提示?

javascript jquery fancybox

60
推荐指数
5
解决办法
20万
查看次数