小编Ase*_*ore的帖子

Java窗体中的Java invokeLater()等价物?

我是Java Swing世界的Windows Forms新手.Java有没有相同的东西SwingUtilities.invokeLater()?或者,如何分派要在主Windows窗体事件线程上运行的任务?

我正在一个单独的线程上使用同步API执行后台任务.在任务结束时,我想重新启用一些禁用的按钮.但是当我尝试这样做时,我得到一个异常(正确地说是这样),因为我正在非UI线程上修改UI.

如何将该操作排入主事件线程?我没有找到搜索网络和SO的答案,我猜是因为我没有以正确的方式提出问题.任何帮助表示赞赏 - 谢谢!

.net winforms

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

git别名可以在其名称中包含句点(.)吗?

我发现自己经常打字git st .(st已经别名的地方status)来获取当前目录文件的状态.

我经常错误地认为那git st.当然不被认可.

我希望能够使用别名,st.但似乎不能.如果我添加st. = status .到我的.gitconfig别名,我fatal: bad config file在git调用上会出错.

是否可以创建一个包含句点的别名?

git alias

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

Neo4j Cypher:为什么这个0长度的路径不匹配?

想象一下简单的Twitter场景:

  • 爱丽丝推特(id 1).
  • Bob回复了一些东西(id 2).

所以例如在Cypher:

CREATE
    (parent:Tweet {id: 1}) -[:AUTHOR]-> (:User {name: 'Alice'}),
    (child:Tweet {id: 2}) -[:AUTHOR]-> (:User {name: 'Bob'}),
    (child) -[:IN_REPLY_TO]-> (parent)
Run Code Online (Sandbox Code Playgroud)

我想编写一个查询,对于任何推文,都会返回推文和作者以及该对话中的第一个/原始推文和作者.

所以对于推文1,它应该返回1, Alice, 1, Alice,但对于推文2,它应该返回2, Bob, 1, Alice.

这是我的查询:

MATCH
    (tweet:Tweet {id: {id}}) -[:AUTHOR]-> (author:User),
    (tweet) -[:IN_REPLY_TO*0..]-> (original:Tweet) -[:AUTHOR]-> (originalAuthor:User)

WHERE NOT(original -[:IN_REPLY_TO]-> ())

RETURN tweet, author, original, originalAuthor
Run Code Online (Sandbox Code Playgroud)

(我知道我可以通过一个OPTIONAL MATCH实现这个目标,但是通过潜在的零长度路径来实现这一目标反而对我有帮助.)

这在推文2上效果很好,但是没有为推文1返回任何结果.我为什么不知所措,但我确信我错过了一些明显的东西.有任何想法吗?

(当我大声说出查询时,似乎很好.推文2有一个作者;它有一个零长度的回复链,它是原始的;它原来还有一个作者;它原来不是回复任何其他推文.)

这是一个可以玩的实时控制台:

http://console.neo4j.org/r/d719lz

谢谢!

neo4j cypher

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

如何通过响应上下文取消睡眠?

在Go中,我想要time.Sleep一段时间(例如在重试之间等待),但是如果上下文被取消(不仅从截止日期开始,还需要手动取消),则希望快速返回。

正确或最佳的方法是什么?谢谢!

go

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

为什么Golang的MD5发布看起来并不统一?

我完全相信我在某个地方有一个错误或者误解某些东西,但为什么以下代码似乎没有表现出统一的分布?

func TestMD5(t *testing.T) {
    n := 50000
    counts := map[uint32]int{} // # of hashes per 1/nth shard

    for i := 0; i < n; i++ {
        hash := md5.Sum(newUUID())
        result := binary.BigEndian.Uint32(hash[:4])
        counts[result/uint32(n)]++
    }

    dupeShards := 0
    dupeEntries := 0
    for _, count := range counts {
        if count > 1 {
            dupeShards++
            dupeEntries += count - 1
        }
    }
    t.Logf("%d inputs hashed to the same %d shards as other inputs.", dupeEntries, dupeShards)

    if len(counts) < n*95/100 {
        t.Fatalf("%d …
Run Code Online (Sandbox Code Playgroud)

hash md5 go

0
推荐指数
1
解决办法
153
查看次数

标签 统计

go ×2

.net ×1

alias ×1

cypher ×1

git ×1

hash ×1

md5 ×1

neo4j ×1

winforms ×1