我有这个非常简单的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()本身(自我 - 终止).
我已经阅读了一些关于线程的教程,但是几乎每个教程都以不同的方式处理它,而且我很难理解其中的一些,所以我想知道,并行运行一段代码的最简单方法是什么.
谢谢.
我需要使用tan^-1函数计算三角形的角度.在我的计算器上,我可以这样做:
tan^-1(3/4) // 3和4是三角形边长
它输出36度.JavaScript中此函数的替代方法是什么?我尝试了Math.tan(3/4),Math.atan(3/4)以及我在列表中看到的所有其他tan函数,但它们都没有以我需要的度数输出结果(36).谢谢.
在这样的列表中:
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)
如果匹配条件的列表中有多个条目,我想随机拉出其中一个条目.它(我需要它)是一个内联解决方案.谢谢.
我有一批这样的查询:
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 手册时,它说启动事务将清除启动它之前所做的所有锁定,反过来,锁定将提交任何传出事务。
但我需要锁定行(或表)并同时使用事务。
我创建了一个简单的 C# .NET 框架控制台应用程序。
在其中,我试图获取当前连接到计算机的已配对蓝牙设备的列表。但是,我无法弄清楚如何从代码中访问任何蓝牙服务。
我环顾了互联网,我能找到的只是一种在通用 Windows 项目 (UWP) 中执行此操作的方法,在那里我可以简单地使用using Windows.Devices.Bluetooth包含我需要的所有内容的命名空间,但是在 .NET 框架控制台应用程序中,这命名空间不可用。
我不需要任何使用蓝牙的高级方法,我只需要一个当前连接和配对的蓝牙设备的列表。
我有一个简单的界面定义
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"的东西,我不必将该接口中的所有函数实现到实现该接口的类中?
谢谢
我有以下代码,它打印出两个日期之间的差异:
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)