小编Vor*_*t3x的帖子

导入python模块不在路径上

我有一个模块foo,包含util.py和bar.py.

我想在IDLE或python会话中导入它.我该怎么做?

我找不到关于如何导入不在当前目录或默认python PATH中的模块的文档.尝试后import "<full path>/foo/util.py",和from "<full path>" import util

我能得到的最接近的是

import imp
imp.load_source('foo.util','C:/.../dir/dir2/foo')
Run Code Online (Sandbox Code Playgroud)

这给了我在Windows 7上的权限被拒绝.

python import external python-module

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

java.util.Observable是线程安全的吗?

在java的Observer模式类ObserverObservable中,调用Observable对象的notifyObservers(Object arg0),在不同的线程中,线程安全吗?

示例:我有多个线程,所有Observable,将经常调用notifyObservers(...).所有这些线程都报告给一个Observer对象.

我是否会遇到并发问题,以及解决这个问题的更好方法是什么?我知道使用事件侦听器的可能解决方案.但是我不确定如何实现它,如果可能的话,我想坚持使用Observer模式实现.

java thread-safety observer-pattern

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

锁定期间的例外情况

可能重复:
在c#中,如果锁定对象内部发生异常,它是否会保持锁定状态?

当你有这样的代码时会发生什么

  lock(myLock)
  {
    try{
      //some code
    }catch(SomeException e)
    {
      throw e;
    }
  }
Run Code Online (Sandbox Code Playgroud)

myLock会正确发布吗?我有一种情况需要这样做,所以如何编写我自己的Lock,它有一个我可以在try catch的finally方法中调用的显式Release方法.

c# locking

6
推荐指数
0
解决办法
127
查看次数

lock语句使用什么类型的锁定机制

c#lock关键字是否使用"让步","自旋锁定"或混合方法来处理争用?

到目前为止,我对.net锁定语句的搜索没有找到答案.如果我找到了,我会发布.到目前为止,我所能找到的是什么时候应该使用一个自旋锁...用Mecki接受的措辞很好.

但我正在寻找关于.net/c#的一些明确的答案或文件,如果有人的话.

.net c# multithreading locking

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

集合修改项目

我已经阅读了很多关于为特定实现选择正确集合的文章,我理解最终它将归结为对真实数据进行基准测试,但是我正忙着这样做:

  • c#中的哪些排序集合允许修改包含的项目?我似乎无法找到任何?

  • 这是因为修改可能会被实现为删除然后重新插入,从而使显式的"修改"功能毫无意义吗?

我需要一个集合(自定义或标准库),并对其执行以下操作.

  • 插入 - 经常
  • 删除 - 经常
  • 修改 - 经常
  • 选择Top X元素 - 每次上述任何一种情况发生时,以及更多,同时发生.

目前我使用的是SortedSet,因为它提供了O(logn)插入,但我不清楚删除性能以及如何最好地修改项目.

c# collections big-o sorted

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

Java清理步骤

在java中我记得当jvm退出或类被破坏时,你可以覆盖一些方法来调用,就像一些清理步骤一样?我似乎无法找到它在任何地方被称为什么.任何人都知道它叫什么,我只是找不到它?

java exit-code

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

如何从SQLite中的Datetime结果列中检索Date部分?

我有一列datetime类型,我只想从中检索日期.反正有没有这样做?

以前它是一个epoch值,我将它转换为datetime.

以下是一个示例结果:

smbd|ip address|1082|ip address|"2011-04-26 18:40:34"
Run Code Online (Sandbox Code Playgroud)

我尝试了以下命令,但它产生负/零结果

SELECT DATE(datetime) from attacked_total;
SELECT STRFTIME('%Y-%m-%d', datetime) FROM attacked_total;
SELECT DATETIME('%Y-%m-%d', datetime) FROM attacked_total;
SELECT DATE('%Y-%m-%d', datetime) FROM attacked_total;
Run Code Online (Sandbox Code Playgroud)

sql database sqlite

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

如何确保在崩溃时保存应用程序状态c#

我是c#编程的新手,所以请记住:

我有一个内存数据对象,我需要在我的应用程序崩溃或关闭时保存信息.有没有办法确定性地或可靠地做到这一点?

我一直在寻找析构函数

~MyObjectName(){}
Run Code Online (Sandbox Code Playgroud)

终结者和Dispose(),

但据我所知,这些都不能可靠地做到我想要的吗?

目前我正在使用析构函数,它在我关闭程序时起作用,但这并不意味着它将在崩溃或总是工作.

我也应该看一下这些活动吗?

.net c# destructor application-state crash-dumps

3
推荐指数
2
解决办法
2075
查看次数

NET 3.5中的Monitor.TryEnter的替代方案

我正在使用Threading.Timer在我的应用程序中运行消息泵.

有时,所需的工作时间比计时器间隔之间的间隔长,我需要"跳过"代码.

我写了一个小测试应用程序进行测试,并在锁定时继续运行SynchronizationLockException:

static void Main(string[] args)
{Program t = new Program();
  System.Threading.Timer myTimer = new Timer(t.Tick,null,1000,1000);

  Thread.Sleep(10000);
  myTimer.Change(0,0);
  Console.WriteLine("Waiting on lock in main thread...");
  Monitor.Enter(t.myLock);
  Console.WriteLine("Done");
  Monitor.Exit(t.myLock);

}

public  readonly Object myLock = new Object();
public  void Tick(object state)
{
  Console.WriteLine("Acquiring lock! From thread " + Thread.CurrentThread.ManagedThreadId);
  Monitor.TryEnter(myLock);
  try
  {
    Thread.Sleep(6000);
    Console.WriteLine("Inside workload!From thread " + Thread.CurrentThread.ManagedThreadId);
  }
  finally
  {
    Console.WriteLine("Releasing lock!From thread " + Thread.CurrentThread.ManagedThreadId);
    Monitor.Exit(myLock);
  }

}
Run Code Online (Sandbox Code Playgroud)

我现在不记得链接,但是我通过在回调函数的开始和结束时禁用和启用计时器找到了我的初始要求的建议解决方案,但是由于文档说明在计时器停止后它可以仍然被调用,因为它已经可以在.NET ThreadPool上安排.

我错过了一些明显的东西,或者监视器不能正常工作吗?我在.NET 3.5上,所以

Monitor.TryEnter(myLock,hasLock)

遗憾的是还不是一个选择.

c# multithreading locking timer monitor

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

为什么我得到node-sqlite3 SQLITE_BUSY

网络服务器在将数据定期存储在node-sqlite3驱动的数据库中时出现问题。它会工作几次,然后失败

SQLITE_BUSY:数据库已锁定

有时即使没有失败,所有插入操作也都没有完成到数据库中,只在表中保留了一部分插入操作。

setInterval(doInserts,60000);

doInserts() {
calculateData(function(data){
    if(data)
    {
        insertData(data);
    }
});
}

function insertData(data) {
var sqlite3 = require("sqlite3").verbose();

//user fs existSync to check if file exists and openSync(file,'w') to create if not

db.serialize(function(){
    var stmt = db.prepare("INSERT INTO mytable (col1,col2) values (?,?)");

    for(var i =0;i<data.length;i++)
        stmt.run(data[0],data[1]);
    stmt.finalize();
});
db.close();
}
Run Code Online (Sandbox Code Playgroud)

考虑到我对节点和SQLite都是陌生的,我猜测我以错误的方式使用了某些东西,导致多个开放线程或进程锁定了db,但是没有任何文档或研究使我更接近解决方案。

sqlite node.js

3
推荐指数
2
解决办法
7922
查看次数

调用基础构造函数不工作c#

我有以下代码返回错误"'对象'不包含带x参数的构造函数." 试图调用基础构造函数的行.

解决方案1,项目1

namespace Project.Sub.A
{
  internal class Foo
  {
    internal Foo(int a, long b) {}

  }
}
Run Code Online (Sandbox Code Playgroud)

解决方案1,项目2

namespace Project.Sub.B{
  internal class Bar : Foo
  {
    internal Bar(int a, long b,long c) :base(a,b+c) {}

  }
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么这不想工作.可能是我的命名空间配置不正确?

c# constructor base

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

函数内部的 Powershell 别名在外部不可用

我在文件 myfunc.ps1 中有一个 powershell 函数

function Set-Util ($utilPath ) {

    if(Test-Path($utilPath) ){
      $fullPath = Join-Path -Path $utilPath "util.exe"
      set-alias MyUtil $fullPath
      #echo  "Path set to $fullPath"
    }else {
        throw  (" Error: File not found! File path '$fullPath' does not exist.")
    }
}
Run Code Online (Sandbox Code Playgroud)

我点从命令行调用它

. .\myfunc.ps1

然后打电话

Set-Util somedirectory

别名在函数中设置正确,但我无法在这里访问它

我的实用程序

我应该导出别名,因为范围仅在方法中吗?我尝试使用 Export-ModuleMember 执行此操作,但出现错误,提示该 cmdlet 只能从模块中调用。

powershell alias function

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