小编Ask*_*man的帖子

一个并行运行一段python代码的简单方法?

我有这个非常简单的python代码:

Test = 1;

def para():
   while(True):
      if Test > 10:
         print("Test is bigger than ten");
      time.sleep(1);

para(); # I want this to start in parallel, so that the code below keeps executing without waiting for this function to finish

while(True):
   Test = random.randint(1,42);
   time.sleep(1);

   if Test == 42:
       break;

...#stop the parallel execution of the para() here (kill it)

..some other code here
Run Code Online (Sandbox Code Playgroud)

基本上,我想要将函数para()与其他代码并行运行,以便它下面的代码不必等待para()结束.但是,我希望能够在并行运行时访问para()内部的Test变量的当前值(如上面的代码示例所示).后来,当我决定,我完成了并行运行的para()时,我想知道如何从主线程中杀死它,还要从并行运行的para()本身(自我 - 终止).

我已经阅读了一些关于线程的教程,但是几乎每个教程都以不同的方式处理它,而且我很难理解其中的一些,所以我想知道,并行运行一段代码的最简单方法是什么.

谢谢.

python multithreading python-multithreading python-3.x

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

我如何在javascript中使用反转tan?

我需要使用tan^-1函数计算三角形的角度.在我的计算器上,我可以这样做:

tan^-1(3/4) // 3和4是三角形边长

它输出36度.JavaScript中此函数的替代方法是什么?我尝试了Math.tan(3/4),Math.atan(3/4)以及我在列表中看到的所有其他tan函数,但它们都没有以我需要的度数输出结果(36).谢谢.

javascript

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

我如何在LINQ中使用First()但随机?

在这样的列表中:

var colors = new List<string>{"green", "red", "blue", "black","purple"};
Run Code Online (Sandbox Code Playgroud)

我可以得到这样的第一个值:

var color = colors.First(c => c.StartsWidth("b")); //This will return the string with "blue"
Run Code Online (Sandbox Code Playgroud)

如果我想要一个符合条件的随机值,我怎么做呢?例如这样的事情:

Debug.log(colors.RandomFirst(c => c.StartsWidth("b"))) // Prints out black
Debug.log(colors.RandomFirst(c => c.StartsWidth("b"))) // Prints out black
Debug.log(colors.RandomFirst(c => c.StartsWidth("b"))) // Prints out blue
Debug.log(colors.RandomFirst(c => c.StartsWidth("b"))) // Prints out black
Run Code Online (Sandbox Code Playgroud)

如果匹配条件的列表中有多个条目,我想随机拉出其中一个条目.它(我需要它)是一个内联解决方案.谢谢.

c# linq

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

在事务期间锁定 MYSQL 表中的行

我有一批这样的查询:

START TRANSACTION
SELECT amount FROM piggybank WHERE id = 2
UPDATE piggybank SET amount = amount + 5 WHERE id = 1
COMMIT
Run Code Online (Sandbox Code Playgroud)

我需要确保没有其他人可以读取或写入 ID 为 1 和 2 的行,直到事务结束。(锁定整个表也可以)问题是,当我阅读 MySQL 手册时,它说启动事务将清除启动它之前所做的所有锁定,反过来,锁定将提交任何传出事务。

但我需要锁定行(或表)并同时使用事务。

mysql innodb locking

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

获取 C# .NET 框架中的蓝牙设备列表

我创建了一个简单的 C# .NET 框架控制台应用程序。

在其中,我试图获取当前连接到计算机的已配对蓝牙设备的列表。但是,我无法弄清楚如何从代码中访问任何蓝牙服务。

我环顾了互联网,我能找到的只是一种在通用 Windows 项目 (UWP) 中执行此操作的方法,在那里我可以简单地使用using Windows.Devices.Bluetooth包含我需要的所有内容的命名空间,但是在 .NET 框架控制台应用程序中,这命名空间不可用。

我不需要任何使用蓝牙的高级方法,我只需要一个当前连接和配对的蓝牙设备的列表。

.net c# bluetooth

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

如果我不需要所有功能,如何实现接口?

我有一个简单的界面定义

public interface IBla
{
    public void DoThing();
    public void DoAnotherThing();
    public void Thing();
}
Run Code Online (Sandbox Code Playgroud)

我有一堆实现此接口的类.然而,他们中的很多只需要该接口实现的三个函数中的两个,所以目前我也实现了其余的函数,并将它们留空,如下所示:

public void DoThing(){}
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式这样做?我希望有这种定义多个接口.是否有类似"partialInterface"的东西,我不必将该接口中的所有函数实现到实现该接口的类中?

谢谢

c#

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

PHP DateTime 差异返回错误的天数

我有以下代码,它打印出两个日期之间的差异:

print_r((new DateTime('2018-01-01'))->diff(new DateTime('2018-11-01')));

print_r((new DateTime('2018-10-01'))->diff(new DateTime('2018-11-01')));
Run Code Online (Sandbox Code Playgroud)

输出:

DateInterval Object
(
    [y] => 0
    [m] => 10
    [d] => 0
    [h] => 0
    [i] => 0
    [s] => 0
    [f] => 0
    [weekday] => 0
    [weekday_behavior] => 0
    [first_last_day_of] => 0
    [invert] => 0
    [days] => 304
    [special_type] => 0
    [special_amount] => 0
    [have_weekday_relative] => 0
    [have_special_relative] => 0
)
DateInterval Object
(
    [y] => 0
    [m] => 1
    [d] => 1
    [h] => 0
    [i] => 0
    [s] => …
Run Code Online (Sandbox Code Playgroud)

php php-7.2

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