当我执行线程th1,th2和th3时,它们一个接一个地执行.如何更改我的代码,以便执行顺序不可预测.(不使用Random).
public class Test
{
static void Main()
{
Person p = new Person();
p.Id = "cs0001";
p.Name = "William";
Thread th1 = new Thread(()=>ProcessOne(p));
th1.Name = "ThreadOne";
th1.Start();
Thread th2 = new Thread(()=>ProcessTwo(p));
th2.Name = "ThreadTwo";
th2.Start();
Thread th3 = new Thread(()=> ProcessThree(p));
th3.Name = "ThreadThree";
th3.Start();
Console.ReadKey(true);
}
static void ProcessOne(Person p)
{
Console.WriteLine("Thread {0} is executing",
Thread.CurrentThread.Name);
Console.WriteLine("Id :{0},Name :{1}", p.Id, p.Name);
}
static void ProcessTwo(Person p)
{
Console.WriteLine("Thread {0} is executing",
Thread.CurrentThread.Name);
Console.WriteLine("Id :{0},Name :{1}", p.Id, …Run Code Online (Sandbox Code Playgroud) 我总是试图保持我的Xcode项目非常有条理,但我最近问自己在哪里放置struct数据类型.
正常我使用很多类,即使结构会这样做.由于类始终是单独的文件,因此更容易组织和更容易查找.
你把结构放在哪里?
我有一个使用Dojo构建的页面,我需要测量页面在浏览器上完成渲染所需的时间(不是时间到第一个字节,或者是时间到最后一个字节).
换句话说,页面(所有字节)可能会下载到我的broswer,但我正在使用的组件(例如日历,网格等)可能仍然在下载完整页面后初始化和渲染很长时间.
是否有任何工具可以让我在页面及其所有组件完全呈现时可靠地进行测量?
我正在寻找一个类似于Visustin的免费工具.有没有这样的存在?
是否可以调整点击Facebook登录按钮后显示的登录弹出窗口的大小?我能够完全从Facebook连接和注销,但我现在需要的是使登录弹出窗口比显示的大一点.我在点击登录按钮后使用FB.Connect.requireSession连接到Facebook.有谁能够帮我?
我正在将现有Access数据库迁移到具有Web前端的SQL数据库.我已使用SQL Server迁移工具成功将数据库复制到SQL,并正在开发应用程序.由于我不会进入这里的原因,我们不能将Access前端链接到SQL DB并使用SQL DB作为单个数据源,因此Access DB仍在使用中并且数据正在更新.
我想要找到的是一种使用Access DB中的新数据更新SQL数据库中的数据的简单方法.表结构等是一样的,所以我需要做的就是复制数据,是否有脚本或简单方法来执行此操作?每次我需要进行更新时,我真的不想运行迁移向导.
在自定义操作编辑器中,我已将自定义操作添加到安装和卸载过程的各个阶段.在属性窗口中,我将CustomActionData属性标记为:
/TARGETDIR = "[TARGETDIR]"
Run Code Online (Sandbox Code Playgroud)
我希望上面的安装目录信息传递给自定义操作.
自定义操作似乎正在触发,但我收到以下错误消息:
"错误1001.无法写入注册表的密钥"(或类似的东西,我正在用我的本地语言翻译它).
我究竟做错了什么?
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Linq;
//using System.Windows.Forms;
using Microsoft.Win32;
namespace CustomActions
{
[RunInstaller(true)]
public partial class Installer1 : Installer
{
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
const string key_path = "SOFTWARE\\VendorName\\MyAppName";
const string key_value_name = "InstallationDirectory";
RegistryKey key = Registry.LocalMachine.OpenSubKey(key_path);
if (key == null)
{
key = Registry.LocalMachine.CreateSubKey(key_path);
}
string tgt_dir = Context.Parameters["TARGETDIR"];
key.SetValue(key_value_name, tgt_dir);
}
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState); …Run Code Online (Sandbox Code Playgroud) 我正在为数据库操作编写一些NUnit测试.显然,如果Add()失败,那么Get()也会失败.然而,它看起来既欺骗Add()又Get()失败,因为看起来有两个问题而不是一个问题.
有没有办法为测试运行指定"顺序",因为如果第一次测试失败,则忽略以下测试?
在同一行中,有没有办法自己订购单元测试类?例如,我想在测试来自UI的往返数据之前首先运行我的基本数据库操作测试.
注意:这与测试相互依赖有点不同,更像是在运行一堆测试之前确保某些东西先工作.例如,如果您无法首先连接到数据库,那么运行大量数据库操作会浪费时间.
编辑:似乎有些人忽略了这一点.我不这样做:
[Test]
public void AddTest()
{
db.Add(someData);
}
[Test]
public void GetTest()
{
db.Get(someData);
Assert.That(data was retrieved successfully);
}
Run Code Online (Sandbox Code Playgroud)
相反,我这样做:
[Test]
public void AddTest()
{
db.Add(someData);
}
[Test]
public void GetTest()
{
// need some way here to ensure that db.Add() can actually be performed successfully
db.Add(someData);
db.Get(somedata);
Assert.That(data was retrieved successfully);
}
Run Code Online (Sandbox Code Playgroud)
换句话说,我想确保在我可以测试是否可以检索数据之前首先添加数据.人们假设我使用第一次测试的数据来通过第二次测试,但事实并非如此.我正在尝试确保在尝试依赖它的另一个操作之前可以执行一个操作.
正如我已经说过的,您需要确保在运行数据库操作之前可以连接到数据库.或者您可以在执行文件操作之前打开文件.或者在测试API调用之前连接到服务器.或者......你明白了.
我在Outlook中有以下宏来清除我删除的文件夹.它奇怪,因为它似乎没有删除所有条目.我必须运行这几次才能清除已删除的项目文件夹.(通常2或3次).每次文件夹中删除的项目数量确实减少但我不明白为什么一切都不会在第一次被删除.
这是我的代码; 哪里不对了?
Public Sub EmptyDeletedEmailFolder()
Dim outApp As Outlook.Application
Dim deletedFolder As Outlook.MAPIFolder
Dim item As Object
Dim entryID As String
Set outApp = CreateObject("outlook.application")
Set deletedFolder = outApp.GetNamespace("MAPI").GetDefaultFolder(olFolderDeletedItems)
For Each item In deletedFolder.Items
item.Delete ' Delete from mail folder
Next
Set item = Nothing
Set deletedFolder = Nothing
Set outApp = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud) c# ×3
diagram ×1
dojo ×1
facebook ×1
flowchart ×1
git ×1
installer ×1
javascript ×1
migration ×1
ms-access ×1
nunit ×1
objective-c ×1
outlook ×1
performance ×1
scripting ×1
sql ×1
uml ×1
unit-testing ×1
vba ×1
xcode ×1