小编Gor*_*a3D的帖子

如何使用带超时的concurrent.futures?

我试图使用concurrent.futures模块在python3.2中使用超时.但是当它超时时,它并没有真正停止执行.我尝试了两个线程和进程池执行程序,它们都没有停止任务,只有在完成后才会引发超时.那么有谁知道它是否有可能使这个工作?

import concurrent.futures
import time
import datetime

max_numbers = [10000000, 10000000, 10000000, 10000000, 10000000]

def run_loop(max_number):
    print("Started:", datetime.datetime.now(), max_number)
    last_number = 0;
    for i in range(1, max_number + 1):
        last_number = i * i
    return last_number

def main():
    with concurrent.futures.ProcessPoolExecutor(max_workers=len(max_numbers)) as executor:
        try:
            for future in concurrent.futures.as_completed(executor.map(run_loop, max_numbers, timeout=1), timeout=1):
                print(future.result(timeout=1))
        except concurrent.futures._base.TimeoutError:
            print("This took to long...")

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

python concurrency timeout python-3.x

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

Android手机上的HTML5 Canvas - 重绘和突出问题

我有一个重绘问题,当你滚动画布时,在你松开触摸之前不会重绘.问题在于我依靠"ontouchmove"来移动我的角色.因此,在触摸释放之前,画布不会重绘.

另一个问题是,当触摸画布时,它是焦点或激活的.它围绕它开发了一个聚焦环.我尝试将:focus和:active伪的边框和轮廓设置为空.我也看到了画布上下文的"drawFocusRing",但似乎没有解决问题.

目前我在Android股票浏览器2.2(MyTouch 3G)上测试过

javascript html5 android canvas

9
推荐指数
1
解决办法
1304
查看次数

VueJS复选框模型整数数组

我对 VueJS 1.0 有问题,这种行为在 VueJS 2.0 中有效。在 VueJS 1.0 中,如果我有一个整数列表并绑定了一个复选框 v-model,则整数列表将不会映射为已选中的属性。

这是 HTML

<div id="app">
  <div class="col-sm-offset-3 col-sm-4 clearfix text-center">
    <h4>On Each Day of The Week</h4>
    <label class="checkbox-inline">
      <input type="checkbox" id="inlineCheckbox1" v-model="schedules[0].by_days" value="1"> M
    </label>
    <label class="checkbox-inline">
      <input type="checkbox" id="inlineCheckbox2" v-model="schedules[0].by_days" value="2"> Tu
    </label>
    <label class="checkbox-inline">
      <input type="checkbox" id="inlineCheckbox3" v-model="schedules[0].by_days" value="3"> W
    </label>
    <label class="checkbox-inline">
      <input type="checkbox" id="inlineCheckbox4" v-model="schedules[0].by_days" value="4"> Th
    </label>
    <label class="checkbox-inline">
      <input type="checkbox" id="inlineCheckbox5" v-model="schedules[0].by_days" value="5"> F
    </label>
    <label class="checkbox-inline">
      <input type="checkbox" id="inlineCheckbox6" v-model="schedules[0].by_days" value="6"> Sa
    </label> …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuejs2

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

如何从多个记录类型访问相同的标签?

是否可以让一个函数从不同的记录类型中调用相同的标签?例如,假设有两条记录,定义如下

type Pen = {
    Diameter: float
    InkColor: string
}

type Pencil = {
    Diameter: float
    Hardness: int
    Blackness: int
}
Run Code Online (Sandbox Code Playgroud)

我可以创建一个函数来从任一记录类型访问Diameter标签吗?现在,如果我定义一支钢笔和铅笔,编译器会对使用哪种记录类型感到困惑.问题是我不希望编译器选择一种类型,如果确实选择了某种类型,则允许使用这两种类型.这个例子不会编译,因为它需要一支铅笔.

let black_pen = {
    Diameter = 0.7
    InkColor = "Black"
}

let mechanical_pencil = {
    Diameter = 0.5
    Hardness = 1
    Blackness = 2
}

let getDiameter writing_utility = 
    let {Diameter = dia} = writing_utility
    dia

printf "%A" (getDiameter black_pen)
Run Code Online (Sandbox Code Playgroud)

我现在看到的唯一选择是:

  1. 将记录与枚举类型组合以告知哪个是对象.然后模式匹配
  2. 使用类来代替使用继承
  3. 使用动态类型和反射来检查标签和类型

如果我可以使用泛型来做这样的事情会很好:

let getDiameter writing_utility = 
    let {Diameter<float> = dia} = writing_utility
    dia
Run Code Online (Sandbox Code Playgroud)

只要记录有一个标签"Diameter"并且是一个浮点数,它就会返回该值.

f# label record

3
推荐指数
1
解决办法
118
查看次数

什么:?>在f#中意味着什么?

鉴于这条线:

let win = XamlReader.Parse(xaml) :?> Window
Run Code Online (Sandbox Code Playgroud)

:?>做什么?

我试着查找三元但没有注意到:?,它似乎是进行型式测试?我也知道>是管道但Window没有任何构造函数参数.

f# piping

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