我正在为一组N粒子构建一个(并发)模拟器,这些粒子根据牛顿定律在空间中移动.我的想法是将每个粒子建模为一个任务,它与其他粒子(任务)相互作用,以获得它们的位置和质量,以便计算它所受的净力.每个粒子任务都是如此
while(true){
force = thisParticle.calculateNetForce(allTheParticles);
thisParticle.waitForAllTheParticlesToCalculateNetForce(); // synchronization
thisParticle.updatePosition(force);
thisParticle.waitForAllTheParticlesToUpdateTheirState(); // synchronization
}
Run Code Online (Sandbox Code Playgroud)
我可以拥有大量粒子(100或更多),因此我无法创建如此多的Java线程(映射到物理线程).我的想法是使用Runtime.getRuntime().availableProcessors()+1可以执行许多任务的线程.
但是,我不能使用FixedThreadExecutor,因为粒子任务不会结束.我想使用FixedThreadExecutor,它必须也能够在内部执行某种调度.你知道为此目的吗?
或者,您是否可以通过并发的角度(例如,不同的任务分解)向我建议更好的方法来建模这样的系统?
Ps:我仅限于"经典"并发机制,不包括演员或类似的架构.
方案如下:我需要对用户(使用他的大学帐户)执行联盟身份验证到他的大学的Sharepoint站点,并获得FedAuth和rtFa cookie(我必须将其传递给SharePoint REST webservices)为了访问资源).
我做了一些尝试,但每个问题至少有一个问题:
ClientContext context = new ClientContext(host);
SharePointOnlineCredentials creds = new SharePointOnlineCredentials(user, passw);
context.Credentials = creds;
Uri sharepointuri = new Uri(host);
string authCookie = creds.GetAuthenticationCookie(sharepointuri);
Web web = context.Web;
context.Load(web, w=>w.Lists);
context.ExecuteQuery();
fedAuthString = authCookie.Replace("SPOIDCRL=", string.Empty);
Run Code Online (Sandbox Code Playgroud)
这样我设法获得FedAuth cookie,但我无法获得rtFa cookie.
我怎么能在这一点上获得rtFa cookie?我是否可以拦截此类操作中涉及的HTTP请求(即context.ExecuteQuery()) - 其中可能包含标题中的rtFa cookie?或者,我是否可以通过仅利用FedAuth cookie来获取rtFa cookie?
这是一个帮助类,可以在Internet上找到(例如,这里http://blog.kloud.com.au/tag/msonlineclaimshelper/).
该类实际上与普通身份验证一起使用,但在联合身份验证时失败.
所以我调整它以使它在这种情况下工作.只要我理解,步骤如下:
我不是这方面的专家,我提出以下代码:
这是调用上述方法的代码,并尝试通过两个步骤从凭证中获取FedAuth和rtFa(步骤1:从联合方获取SAML令牌;步骤2:将令牌从联合方传递到Sharepoint):
private List<string> GetCookies(){ …Run Code Online (Sandbox Code Playgroud) c# authentication sharepoint claims-based-identity ws-federation
我有以下代码:
<HubSection x:Name="modules_section" ...>
<DataTemplate>
<StackPanel Orientation="Vertical">
..................................
Run Code Online (Sandbox Code Playgroud)
如何让StackPanel占据HubSection的整个高度?
VerticalAlignment ="拉伸"不起作用.
我也尝试过使用绑定
<StackPanel Height={Binding ElementName=modules_section, Path=ActualHeight}" ...>
Run Code Online (Sandbox Code Playgroud)
但是hub部分的Actualheight似乎是0(我还尝试在代码隐藏中设置它并调试以查看值).
当我阅读如何在失败时为黄瓜场景添加清理时,我在互联网上得到了这段代码。
After do |s|
if s.failed?
#If you are on an iOS Device
$driver.quit
sleep(time_for_driver_ready)
#else
reset
end
end
Run Code Online (Sandbox Code Playgroud)
这是红宝石。我在 java 中工作,有什么方法可以s.failed?在 java 中实现,因为在 java 中,after 方法声明不包含场景变量。
java ×2
c# ×1
concurrency ×1
cucumber ×1
executors ×1
ruby ×1
sharepoint ×1
testing ×1
windows-8.1 ×1
winrt-xaml ×1