问题列表 - 第137619页

去并发访问指针方法

我试图了解当您同时访问指针方法时会发生什么?

我有一个指针地图,并产生了几个例行程序.我将地图传递给每个go例程,每个例程都将使用地图中的一个值.没有任何东西写入地图只是被读取.

地图很小,只有4个键,所以有多个go例程可能会使用地图中的相同值.

问题是,当两个例程调用相同指针的方法时会发生什么?我会得到不可预测的结果吗?

编辑

示例:我正在取出地图部分,因为这不是我追求的问题.

我有foo一个类型的指针,MyStruct这个结构有一个DoSomething接受参数的方法.在main函数中我创建了go routines两个,它们都调用foo.DoSomething传递不同的值.在这个例子中,第一个例程具有比第二个更大的预编码计算(这里仅使用休眠时间来模拟计算).结构中没有任何东西在改变我只是在调用结构方法.我是否必须担心第二个例行程序foo.DoSomething在第一个例程仍在使用该方法时调用?

package main

import (
    "log"
    "time"
)

type MyStruct struct {
}

func (self *MyStruct) DoSomething(value int) {

    log.Printf("%d Start", value)

    calculation_time := time.Duration(value) * time.Second
    log.Printf("%d Calculating", value, calculation_time)
    time.Sleep(calculation_time)

    log.Printf("%d Done", value)
}

func main() {

    var foo = new(MyStruct)

    go foo.DoSomething(5)

            // is this method call a problem when the first one is still working? …
Run Code Online (Sandbox Code Playgroud)

go goroutine

6
推荐指数
2
解决办法
5699
查看次数

如何使用循环和调用另一个函数在 Python 中将两个多项式相乘?

我已经在这个问题上工作了几个小时,但我不知道从哪里开始或做任何事情。我了解它背后的数学/逻辑,但我不知道将它很好地放入代码中。

这就是问题:

  1. 编写并测试一个函数multiply(self, other),它返回两个多项式的乘积。使用一个循环(for 或 while);在其中调用 *multiply_by_one_term* 来自上一个问题。

这是我一开始就设置的,我想不起来叫什么了:

class Polynomial:
    def __init__(self, coeffs=[0]):
        self.coeffs = coeffs
Run Code Online (Sandbox Code Playgroud)

这是我做的测试:

def multiply(self, other):
    """
      >>> p1 = Polynomial([1, 2])
      >>> p2 = Polynomial([3, 4])
      >>> p1.multiply(p2).coeffs
      [3, 10, 8]
    """
Run Code Online (Sandbox Code Playgroud)

这是我需要调用的函数:

def multiply_by_one_term(self, a, exp):
    """       
      >>> p = Polynomial([2, 1, 3])
      >>> p.multiply_by_one_term(3, 2).coeffs
      [6, 3, 9, 0, 0]
      >>> p = Polynomial([2, 1, 3])
      >>> p.multiply_by_one_term(3, 0).coeffs
      [6, 3, 9]
    """

    return Polynomial([a*i for i in self.coeffs] + …
Run Code Online (Sandbox Code Playgroud)

python loops class multiplication polynomial-math

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

从数字和字母列表中删除字母

在我正在尝试编写的函数中,用户输入一组数字,例如"648392".我把这个字符串变成这样的列表:['6','4','8','3','9','2'].

我希望能够对这些数字进行求和,因此我将列表中的数字转换为整数而不是字符串.这一切都运行良好,但我也希望用户能够输入字母,然后我只是将它们从列表中删除 - 这就是我被困住的地方.例如,用户输入"6483A2".

我无法检查元素是否是带有isDigit的数字,因为元素显然必须首先是整数,并且我无法将列表中的元素转换为整数,因为有些元素是字母...我我确定有一个简单的解决方案,但我在python中非常糟糕,所以任何帮助都将非常感激!

python

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

录制/捕获Android应用程序的内部声音播放并导出mp3?

是否可以录制应用程序生成的内部声音?

我的应用程序允许您创建和播放音乐序列.

soundPool.play(soundIds[i], 1f, 1f, 1, 0,  Constants.TIME_RATE);
Run Code Online (Sandbox Code Playgroud)

我希望能够记录序列并导出到mp3.

我看过Audio Capture但是setAudioSource(int audio_source)似乎只接受MIC录音.

谢谢

audio android audio-recording soundpool android-mediaplayer

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

PHP Composer更新"无法分配内存"错误(使用Laravel 4)

我只是无法解决这个问题.

我正在使用Linode 1G RAM基本计划.试图通过Composer安装一个包,它不会让我.我的内存限制在PHP.ini上设置为"-1"

我还能做些什么来安装它吗?

Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing thujohn/rss (dev-master df80a7d)
    Downloading: 100%         
PHP Fatal error:  Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:975
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 975, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(975): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(853): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(818): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(752): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 975

Fatal error: …
Run Code Online (Sandbox Code Playgroud)

php laravel composer-php laravel-4

123
推荐指数
12
解决办法
14万
查看次数

同时设置多个属性

有没有办法同时设置多个属性?我试过这个:

dateTextField.font, nameTextField.font = [UIFont fontWithName:@"Gotham-Book" size:16];
Run Code Online (Sandbox Code Playgroud)

但这得到了警告.我还能做些什么吗?

objective-c uifont ios

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

错误:分段错误(核心转储)数组?

每次运行程序时,我都会收到消息:Segmentation fault(core dumped).我尝试做了一些研究,似乎问题与分配非法内存有关.我也试过调试程序,似乎问题出在linearsort()函数中,因为在将它注释掉后,其余的语句才能正常工作.

#include <iostream>

using namespace std;

int main()
{
    void linearsort(int [], int);

    int arr[10];
    for( int j = 0; j < 10; j++)
        arr[j] = j +1;

    linearsort(arr,10);
    for(int i = 0; i < 10; i++)
        cout << arr[i] << " ";

    cout << endl;

    cin.get();
    return 0;



}

void linearsort(int arr[],int n)
{
    int temp;

    for(int pass = 0; pass < n - 1; n++)
        for(int cand = pass + 1; cand < n; cand++){
            if(arr[pass] …
Run Code Online (Sandbox Code Playgroud)

c++ sorting

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

如何在 AWK 中指定*一个*制表符作为字段分隔符?

空白字段分隔符(例如使用FS = "\t", in时的制表符)的默认值AWK是一个或多个。因此,如果您想读入制表符分隔的文件,其中某些列(最后一列除外)中包含空值,它将跳过它们。例如:

1 "\t" 2 "\t" "" "\t" 4 "\t" 5
Run Code Online (Sandbox Code Playgroud)

$3即使明显有两个选项卡,也会引用4,而不是 null 。""

我应该怎么做才能将字段分隔符指定为仅一个选项卡,以便引用而不$4引用?45

awk tabs field separator

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

使用多个函数参数列表有什么好处?

scala> def a(i:Int)(j:Int) = i * j
a: (i: Int)(j: Int)Int

scala> def b(i:Int, j:Int) = i * j
b: (i: Int, j: Int)Int
Run Code Online (Sandbox Code Playgroud)

这两个定义非常相似,它们(在我看来)做同样的事情.

除了定义一个接收隐式参数或代码块作为参数的函数之外,有没有理由使用第一个定义样式?

scala

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

如何从包含n*NA的数据框中删除行

我有许多大型数据集,大约有10列,大约有200000行.并非所有列都包含每行的值,尽管至少有一列必须包含要存在的行的值,我想设置NA一行中允许的s 值的阈值.

我的Dataframe看起来像这样:

 ID q  r  s  t  u  v  w  x  y  z
 A  1  5  NA 3  8  9  NA 8  6  4
 B  5  NA 4  6  1  9  7  4  9  3 
 C  NA 9  4  NA 4  8  4  NA 5  NA
 D  2  2  6  8  4  NA 3  7  1  32 
Run Code Online (Sandbox Code Playgroud)

我希望能够删除包含超过2个包含NA的单元格的行

ID q  r  s  t  u  v  w  x  y  z
 A 1  5  NA 3  8  9  NA …
Run Code Online (Sandbox Code Playgroud)

merge r rows filter na

8
推荐指数
2
解决办法
9507
查看次数