我正在List<Image>从大约250张图片的文件夹中加载一个.我做了一个DateTime比较,加载这250个图像需要整整11秒.那个地狱很慢,我非常想加快速度.
图像在我的本地硬盘上,甚至不是外部硬盘.
代码:
DialogResult dr = imageFolderBrowser.ShowDialog();
if(dr == DialogResult.OK) {
DateTime start = DateTime.Now;
//Get all images in the folder and place them in a List<>
files = Directory.GetFiles(imageFolderBrowser.SelectedPath);
foreach(string file in files) {
sourceImages.Add(Image.FromFile(file));
}
DateTime end = DateTime.Now;
timeLabel.Text = end.Subtract(start).TotalMilliseconds.ToString();
}
Run Code Online (Sandbox Code Playgroud)
编辑:是的,我需要所有的照片.我正在计划的事情是将每个中心的30个像素柱取出并从中制作出新的图像.有点像360度的图片.只是现在,我只是用随机图像进行测试.
我知道可能有更好的框架可以做到这一点,但我需要首先工作.
EDIT2:切换到秒表,差别只有几毫秒.还尝试使用Directory.EnumerateFiles,但没有任何区别.
编辑3:我在32位Win7客户端上运行.NET 4.
在高度并发的系统中,很难确信您对锁的使用是否正确.具体而言,如果以在另一个线程中以正确顺序获取时未按预期的顺序获取锁,则可能导致死锁.
有一些工具(例如Coverity)可以对代码库进行静态分析并查找"异常"锁定命令.我想探索满足我需求的其他选择.
是否有用于检测Java代码的轻量级工具,可以检测以预期的顺序获取锁定的情况?我可以通过注释/注释显式调用锁定命令.
首选免费和/或开源解决方案.如果有针对此问题的非仪器方法,请也请评论.
*就我的目的而言,轻量级意味着......
synchronize语句中混乱我的代码.如前所述,我可以明确地注释/注释被相对顺序锁定的对象或对象类.这不起作用.
var result =
from row in grid.Rows
where (string) row.Cells["COLUMN_1"].Value == "Test"
select row.Cells["COLUMN_2"].Value as int?;
Run Code Online (Sandbox Code Playgroud)
但这样做.
var result =
from row in grid.Rows.Cast<DataGridViewRow>()
where (string) row.Cells["COLUMN_1"].Value == "Test"
select row.Cells["COLUMN_2"].Value as int?;
Run Code Online (Sandbox Code Playgroud)
据我所知,DataGridViewRowCollection是DataGridViewRows的集合.那么为什么我必须先将每个成员转换为DataGridViewRow才能访问其属性?
它与DataGridViewRowCollection实现非泛型IEnumerable但非泛型版本的事实有什么关系IEnumerable<DataGridViewRow>吗?或者它显然在ArrayList内部使用?它并没有给我带来任何实际问题,但我想更好地理解它.
我正在阅读一个带有SAX解析器的XML文件(这部分可以改变它,这是一个很好的理由).
当我找到必要的属性时,我需要更改它们的值并将生成的XML文件保存为新文件.
我怎样才能做到这一点?
我创建了一个函数,将变音字符转换为非变音字符(基于这篇文章)
这是代码:
Public Function RemoveDiacritics(ByVal searchInString As String) As String
Dim returnValue As String = ""
Dim formD As String = searchInString.Normalize(System.Text.NormalizationForm.FormD)
Dim unicodeCategory As System.Globalization.UnicodeCategory = Nothing
Dim stringBuilder As New System.Text.StringBuilder()
For formScan As Integer = 0 To formD.Length - 1
unicodeCategory = System.Globalization.CharUnicodeInfo.GetUnicodeCategory(formD(formScan))
If unicodeCategory <> System.Globalization.UnicodeCategory.NonSpacingMark Then
stringBuilder.Append(formD(formScan))
End If
Next
returnValue = stringBuilder.ToString().Normalize(System.Text.NormalizationForm.FormC)
Return returnValue
End Function
Run Code Online (Sandbox Code Playgroud)
不幸的是,由于String.Normlize不是Silverlight的一部分,我需要找到另一种编写此函数的方法.
到目前为止我找到的唯一解决方案是在服务器端创建一个服务,该服务将调用String.Normalize函数,然后将其返回给客户端...但这会产生巨大的性能问题.
必须有一个更好的选择但正确知道我不知道如何解决这个问题.
我试图用一系列屏幕截图记录工作流程.在流程中的某一点上,会出现UAC提示,我想抓住它的位图以使我的故事板完整.由于UAC提示位于虚拟桌面(或类似的东西)上,因此通常的Alt + PrintScreen不起作用.有什么建议?
我知道有很多问题可以解答这个问题.我熟悉.htaccess和nginx.conf方法,但我无法访问heroku上的这种传统配置方法.
Simone Carletti给出了这个利用Rails 2.x Metals的答案,但我使用的是Rails 3,这是不兼容的. 将非www请求重定向到Rails中的www URL
我不是before_filter在我的ApplicationController中寻找一个简单的东西.我想完成类似于Simone的重写.我认为这至少是网络服务器或像Rack这样的中间件的工作,所以我想把这一点留在实际的应用程序代码中.
redirect to status
----------------------------------------------------
www.foo.com foo.com 301
www.foo.com/whatever foo.com/whatever 301
Run Code Online (Sandbox Code Playgroud)
只有主机匹配/^www\./才能重定向.应忽略所有其他请求.
假设我有一个数组:[0,3,4,2,5,1].
我想要做的是排序一个数组,如:
["one", "two", "three", "four", "five", "six"]
Run Code Online (Sandbox Code Playgroud)
这样顺序对应于第一个数组.
这将是输出:
["one", "four", "five", "three", "six", "two"]
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法来实现这一目标?
代码如下所示:
class workers1(Thread):
... def __init__(self):
... Thread.__init__(self)
... def run(self):
... ...do some stuff
class workers2(Thread):
... def __init__(self):
... Thread.__init__(self)
... def run(self):
... ...do some stuff
if __name__ == "__main__":
... start workers
while True:
print "Number of threads active", threading.activeCount()
print "Number of worker1 threads", ?????, "Number of worker2 threads", ?????
Run Code Online (Sandbox Code Playgroud)
有没有办法通过发起类来获得活跃的线程数?
c# ×2
java ×2
.net ×1
arrays ×1
concurrency ×1
count ×1
datagridview ×1
diacritics ×1
drupal ×1
generic-list ×1
integer ×1
javascript ×1
linq ×1
normalize ×1
python ×1
rack ×1
redirect ×1
sax ×1
screenshot ×1
seo ×1
silverlight ×1
sorting ×1
string ×1
uac ×1
windows ×1
winforms ×1
xml ×1