小编apa*_*ana的帖子

何时使用并发哈希图与哈希图进行 put 和 get

在一个面试问题中,我被要求解释一种情况,即使用并发哈希图与使用哈希图相比,使用并发哈希图是正确的方法。板上有两列 t1 和 t2(对应于 thread1 和 thread2),我应该编写一系列操作(如map.put(2, 10)map.get(2)等),使用并发哈希图与哈希图将产生预期的结果。

我试图给出一个迭代器的例子,但这不是面试官想要的。他正在寻找 thread1 和 thread2 的 put 和 get 操作序列。他说假设我们从不迭代,我们只有 put 和 get 操作。

我查看了 SO 上的其他线程并验证了我对线程安全的了解,但我仍然想不出任何 put 的示例,并且使用 hashmap 产生错误的结果,使用并发hashmap 产生正确的结果。是否有任何放置和获取的顺序,或者我应该说不可能?

java algorithm concurrency concurrenthashmap

6
推荐指数
1
解决办法
2255
查看次数

java同步中条件变量和条件谓词的区别

我正在寻找一个带有解释的示例来理解 java 中条件变量和条件谓词之间的区别。

这是在同步的上下文中。

另外,我想知道这些术语是否是在 Java 文档中找到的实际 Java 术语,还是其他作者参考了这些术语?

为了进一步澄清问题,请考虑以下示例(取自 Java Concurrency 书籍):

@ThreadSafe
public class BoundedBuffer<V> extends BaseBoundedBuffer<V> {

    public BoundedBuffer(int size) { super(size); }

    // BLOCKS-UNTIL: not-full
    public  synchronized  void put(V v) throws InterruptedException {
        while (isFull())
            wait();
        doPut(v);
        notifyAll();
    }

    // BLOCKS-UNTIL: not-empty
    public  synchronized  V take() throws InterruptedException {
        while (isEmpty())
            wait();
        V v = doTake();
        notifyAll();
        return v;
    } 
}
Run Code Online (Sandbox Code Playgroud)

什么是条件变量,什么是条件谓词?您可能有比这更好、更简单的示例来解释差异。我很困惑每个人究竟指的是什么(条件变量与谓词),无论它们是否相同。

了解 Java 低级并发的人可能是回答这个问题的最佳人选。

java concurrency synchronization

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

python strptime 亚秒的正确格式

我的日期时间数据是这样的:

2016-03-01 19:25:53.053404
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用

datetime.strptime(date, "%Y-%m-%d %HH:%MM:%SS")
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

ValueError: time data '2016-03-01 19:24:35.165425' does not match format '%Y-%m-%d %HH:%MM:%SS'
Run Code Online (Sandbox Code Playgroud)

如何修复格式“ %Y-%m-%d %HH:%MM:%SS”以匹配我拥有的日期时间格式?

python datetime strptime

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

PHP将mktime结果转换为UTC

我正在使用此代码在PST(又名America/Los_Angeles)时间生成昨天的开始.我无法弄清楚如何将结果转换为UTC.

date_default_timezone_set("America/Los_Angeles");
$time1 = date("Y-m-d H:i:s", mktime(0,0,0, date('n'), date('j')-1, date('Y')));
Run Code Online (Sandbox Code Playgroud)

我试过这个,但$ time1不是datetime,它是字符串.所以以下方法不起作用.

$time1->setTimezone(new DateTimeZone("UTC")); 
Run Code Online (Sandbox Code Playgroud)

php datetime utc mktime

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

Telethon,如何获得实体?

我开始使用Telethon将 python 应用程序与电报 API 集成。我能够启动它并发送一些消息。

发送消息的函数获取一个实体作为第一个参数。到目前为止,我是从返回实体列表的 get_dialogs 函数中获取这个实体的。我知道我想向哪个组发送消息并且不想每次都通过 get_dialogs 来获取实体。

那么我可以使用哪个函数来给我一个实体来传递它来发送消息? 我期望应该有一个函数可以获取组 ID(或来自组的类似独特功能)作为输入并将实体传递给我作为响应。但到目前为止,我无法找到任何功能。

def send_message(self,
                     entity,# <--------------- how can I get this entity?
                     message,
                     markdown=False,
                     no_web_page=False):
Run Code Online (Sandbox Code Playgroud)

python telegram telethon

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

为什么 Collections.sort 可以不带比较器而 List.sort 必须带比较器?

我不明白为什么 List.sort() 没有没有比较器的版本的逻辑。

特别是我看到可以使用 null: 调用 List.sort
list.sort(null),并且它似乎使用自然顺序进行排序。

我注意到在我的 IDE Collections.sort() 调用 List.sort(null),所以我想知道为什么 List.sort 似乎是最近在 Java 8 中引入的没有没有比较器的简单版本,在许多病例是不需要的。

此外,我不确定在这种情况下是否最好调用 List.sort(null) 以避免额外调用,或者是否仍然首选调用 Collections.sort() 并避免丑陋的 null 参数。

java sorting list comparable comparator

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

CSS显示水平滚动条?

我看到这个stackoverflow发布 CSS div元素 - 如何只显示水平滚动条? 但是,当我尝试答案时,滚动条不会显示.我可以水平滚动,但我也希望显示水平滚动条.我在chrome和Mac上尝试这个.这是我的代码:

<div style="width:500px; overflow-x:scroll; border:dotted 1px; white-space: nowrap;padding-bottom:10px;">
<img src="img1.jpeg">
<img src="img2.jpeg">
<img src="img3.jpeg">
<img src="img4.jpeg">
<img src="img5.jpeg">
</div>
Run Code Online (Sandbox Code Playgroud)

JsFiddle:https://jsfiddle.net/t30xshro/

html css

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

使用mvnvm vs mvn?

我看到一个朋友使用mvnvm来编译他们的项目.mvnvm相对于mvn有什么优势,它提供了什么功能?我可以找到网站mvnvm.org,但除此之外我找不到太多信息.

maven

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

全屏时禁用鼠标悬停时弹出停靠栏

当窗口全屏时,我不希望停靠栏出现。很多时候,我在全屏模式下使用的应用程序在页面底部有一些按钮和句柄,一旦我向下移动鼠标单击一个按钮 Dock 就会弹出,我错误地单击了一个项目码头。我不记得我在以前版本的 OSX 中遇到过这个问题,但我不太确定。我目前在 OSX El Capitan 上。

macos fullscreen osx-elcapitan

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

Telethon:它在哪里存储凭据?

我正在使用Telethon连接到 telegram API,现在开发后我需要将项目 api 更改为主帐户。我想知道电视马拉松将凭据存储在哪里,以便我可以删除它们并强制重新进行身份验证?

python telegram telethon

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