小编Bon*_*io2的帖子

如何在Java中创建线程限制

假设我有1000个要读取的文件,并且由于某些限制,我想要并行读取最多5个文件.并且,一旦其中一个完成,我想要一个新的开始.

我有一个主函数谁拥有文件列表,我尝试在一个线程完成时更改计数器.但它不起作用!

有什么建议吗?

以下是主函数循环

for (final File filename : folder.listFiles()) {

    Object lock1 = new Object();
    new myThread(filename, lock1).start();
    counter++;
    while (counter > 5);
}
Run Code Online (Sandbox Code Playgroud)

java multithreading limit

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

工厂女孩嵌套工厂

我有一个属于角色模型的帐户模型.

factory :role do
  name "student"
end

factory :account do
  user
  role
end
Run Code Online (Sandbox Code Playgroud)

第一个工厂创建一个名为"student"的角色.第二个工厂创建一个帐户,该帐户与在上一个工厂中创建的学生角色相关联.它也与用户相关联......这对于这个问题并不重要.

我有很多要测试的角色(管理员,学生,助理)......我不想在角色工厂中指定'学生'......这太静态了.如何指定创建帐户工厂时要创建的角色?喜欢:

  factory :account do
    user
    role_id { factory :role { name: "admin"} }
  end
Run Code Online (Sandbox Code Playgroud)

完成此任务的最佳方法是什么?

ruby-on-rails-3 factory-bot

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

如何在Mac上更新OpenSSL?

我需要确保我有1.0.1或更高版本的OpenSSL版本才能根据本文档连接到Salesforce API .

根据这个问题,我可以做以下步骤(我已成功完成)

  1. brew更新
  2. brew安装openssl
  3. brew link --force openssl

当我跑步时openssl version -a,我得到以下内容:

OpenSSL 1.0.2h  3 May 2016
built on: reproducible build, date unspecified
platform: darwin64-x86_64-cc
options:  bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: /usr/bin/clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/opt/local/etc/openssl"
Run Code Online (Sandbox Code Playgroud)

但是,当我跑步时python -c "import ssl; print ssl.OPENSSL_VERSION",我得到以下内容: …

c python macos ssl openssl

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

pandas DataFrame中的级别是什么?

我一直在阅读文档,许多解释和示例都levels被视为理所当然.Imho文档缺乏对数据结构和定义的基本解释.

数据框中的级别是什么?MultiIndex索引中的级别是多少?

python multi-index dataframe pandas

12
推荐指数
2
解决办法
9172
查看次数

无法安装JSON gem

我需要安装json,因为我收到此错误:

Could not find json-1.4.6 in any of the sources

我跑gem install jsonbundle install,但我只能当我需要安装JSON-1.5.1 JSON-1.4.6

我有gem 'json', '1.4.6'我的宝石文件,所以我不确定发生了什么...

UPDATE

我收到此错误:

安装json(1.4.6)/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1216:in`chmod':不允许操作 - /Library/Ruby/Gems/1.8/gems/json-1.4.6/CHANGES(Errno :: EPERM)

ruby gem bundler

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

递归测验 - 无法解决

今天我的CPSC教授在python中分配了一个测验,主题是递归.

整个班级都陷入了第二个问题,这是下面的问题.没有人能够接近解决方案.

def sub_set(A):
    if A == []: return A
    X = sub_set(A[1:])
    result = []
    for L in X:
        result += _____
    return _____
Run Code Online (Sandbox Code Playgroud)

示例代码:

print(sub_set([1, 2]))    # [[], [1], [2], [1, 2]]
print(sub_set([1, 2, 3])) # [[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
Run Code Online (Sandbox Code Playgroud)

您只能修改下划线,例如下面的示例可能会演示.

我的解决方案远非如此接近,甚至不应该考虑:

def sub_set(A):
    if A == []: return A
    X = sub_set(A[1:])
    result = []
    for L in X:
        result += _____
    return result + [A[:1]] + [A] …
Run Code Online (Sandbox Code Playgroud)

python recursion

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

FactoryGirl协会参考

我有四个型号:User,Product,OwnershipLocation.UserProduct拥有一个Location,Location属于UserProduct(多态模型).

我想用来FactoryGirl创建与其所有者具有相同位置的产品.

factory :location do
  sequence(:address) { |n| "#{n}, street, city" }
end

factory :user do
  sequence(:name)  { |n| "Robot #{n}" }
  sequence(:email) { |n| "numero#{n}@robots.com"}
  association :location, factory: :location
end

factory :product do
  sequence(:name) { |n| "Objet #{n}" }
  association :location, factory: :location
end

factory :ownership do
  association :user, factory: :user
  association :product, factory: :product
end
Run Code Online (Sandbox Code Playgroud)

我在 …

ruby-on-rails associations factory-bot

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

谁吃了我的Python内存?

关于Python代码的一般性问题.如何在内存使用方面最有效地找到我的Python代码中最糟糕的部分?

参见例如这个小例子

def my_func():
    a = [1] * (12 ** 4)
    return a

def my_func2():
    b = [2] * (10 ** 7)
    return b

if __name__ == '__main__':
    a1 = my_func()
    a2 = my_func2()
Run Code Online (Sandbox Code Playgroud)

我怎样才能以自动方式告诉a2比a1大得多?我怎么能 - 仍然是自动化的 - 根据这个来恢复my_func1()my_func2()

对于我会使用的C/C++代码valgrind --tool=massif,它可以直接找到关于内存使用的重量级 - 但对于Python我需要你的帮助. Meliae似乎给出了一些答案,但并不像Massif对C/C++那样好.

python profiling

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

ImportError:无法导入名称'PandasError'

我是Python 3x的新手,在mac上运行.

目前使用带有finance的python的sentdex教程,尝试运行以下脚本:

import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web

style.use('ggplot')

start = dt.datetime(2000,1,1)
end = dt.datetime(2016,12,31)

df = web.DataReader('TSLA', 'yahoo', start, end)
print(df.head())
Run Code Online (Sandbox Code Playgroud)

但是,这会返回以下错误消息:

Traceback (most recent call last):
  File "F:\Downloads\Python Work\try figuring thigns out\finance\try.py", line 1, in <module>
    import pandas_datareader.data as web
  File "C:\Python36\lib\site-packages\pandas_datareader\__init__.py", line 3, in <module>
    from .data import (get_components_yahoo, get_data_famafrench, get_data_google, get_data_yahoo, get_data_enigma,  # noqa
  File "C:\Python36\lib\site-packages\pandas_datareader\data.py", line 7, in <module>
    from …
Run Code Online (Sandbox Code Playgroud)

python macos python-3.x pandas pandas-datareader

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

Activity泄露了IntentReceiver org.chromium.content.browser.accessibility.LollipopWebContentsAccessibility

我目前面临这个错误:

活动me.akaruikage.bkntools.VTPHeute已泄露最初在此处注册的IntentReceiver org.chromium.content.browser.accessibility.LollipopWebContentsAccessibility$1@5653daf.你是否错过了对unregisterReceiver()的调用?

使用此活动代码:

package me.akaruikage.bkntools;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.KeyEvent;
import android.view.ViewGroup;
import android.webkit.WebView;

public class VTPHeute extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.vtpheute);
    setWebViewSize();
    initWebView();
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        startActivity(new Intent(this, MainActivity.class));
        finish();
    }
    // TODO: Implement this method
    return super.onKeyDown(keyCode, event);

}

void setWebViewSize() {
    WebView v = (WebView) findViewById(R.id.vtp_heute_webview);
    Display display = getWindowManager().getDefaultDisplay();
    DisplayMetrics outMetrics …
Run Code Online (Sandbox Code Playgroud)

android

10
推荐指数
0
解决办法
1074
查看次数