问题列表 - 第38284页

Java Runnable Queue

我需要对下面的关键代码进行同行评审.

此类维护一个可运行的objets队列,并确保它们按顺序执行,即在前一个完成后启动一个新的,直到队列中没有其他任务为止.

我很确定它确实如此,但我必须绝对确定它的行为是有意的.

非常感谢 !

public final class RunnableQueue {

    private final ExecutorService m_executorService;
    private final Queue<Runnable> m_runnables;
    private final Runnable m_loop;

    public RunnableQueue(ExecutorService executorService) {
        m_executorService = executorService;
        m_runnables = new LinkedList<Runnable>();

        m_loop = new Runnable() {
            public void run() {

                Runnable l_runnable = current();

                while(l_runnable != null) {
                    l_runnable.run();
                    l_runnable = next();
                }
            }
        };
    }

    private Runnable current() {
        synchronized (m_runnables) {
            return m_runnables.peek();
        }
    }

    private Runnable next() {
        synchronized (m_runnables) {
            m_runnables.remove();
            return m_runnables.peek();
        } …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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

在C中释放双向链表

我在C中有一个双重链接列表,我对如何释放它感到困惑.我知道我必须遍历列表释放每个节点.混淆的地方在于我的每个节点都有一个指向其他数据的指针,我不确定如何释放它.

我的双重链表看起来像这样:

typedef struct Node_ Node;
typedef struct List_ List;

struct Node_ {
    void *data;
    Node *next;
    Node *prev;
};

struct List_ {
    Node *firstNode;
    Node *lastNode;
};
Run Code Online (Sandbox Code Playgroud)

为了释放列表,我创建了一个名为List_free()的函数,该函数遍历列表,使用Node_free()释放每个节点.这些函数看起来像这样:

void *List_free(List *list)
{
    Node *next = list->firstNode;

    while(next)
    {
        Node *node = next;
        next = node->next;
        Node_free(node);
    }

    free(list);
}

void Node_free(Node *node)
{
    free(node->data);
    free(node);
}
Run Code Online (Sandbox Code Playgroud)

这将导致其失败的地方是node-> data是指向另一个结构的指针,该结构本身包含指针.在我的例子中,我使用相同的列表代码来存储两个不同的结构.

我看到它的方式我有以下选择:

  1. 创建节点保存特定数据的列表.不是很可重复使用.
  2. 找到另一种方法来跟踪节点数据中的指针.

我是在思考正确的方向还是错过了一些明显的东西?这是我第一次尝试C,所以如果这完全错了,我不会感到惊讶.

c memory free

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

如何在Visual Studio 2010中禁用有关扩展更新的通知

在Visual Studio 2010中,您可以获得有关扩展更新的自动通知.我不想被通知.有没有办法禁用该功能?

visual-studio-2010

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

C#中的行继续字符

我们有一个包含很长字符串的变量的单元测试.

问题是如何在代码中编写它,没有换行问题或代码难以阅读.

在VB中有一个行继续字符,在C#中是否存在等价物?

c#

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

在android上检查互联网连接

我有以下代码用于检查我的应用程序上的互联网连接wifi/EDGE/GPRS/3G.

代码是

public static boolean checkConn(Context ctx) {
    ConnectivityManager conMgr = (ConnectivityManager) ctx
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    if (conMgr.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED
        || conMgr.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING) {
        return true;
    } else if (conMgr.getNetworkInfo(0).getState()==NetworkInfo.State.DISCONNECTED
        || conMgr.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED){
        return false;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我打电话给它如下:

if (CheckInternet.checkConn(introPage.this) == true) {
    Intent toMainPage = new Intent(introPage.this, mainPage.class);
    System.gc();
    startActivity(toMainPage);
} else if (CheckInternet.checkConn(getApplicationContext()) == false) {
    Toast.makeText(getApplicationContext(),
        "Sorry, No internet connectivity found", Toast.LENGTH_SHORT)
            .show();
}
Run Code Online (Sandbox Code Playgroud)

但我有一个问题,那就是如果我连接到wifi,我打开应用程序,它工作正常,但如果我关闭应用程序并关闭wifi并重新打开应用程序,它不会通过错误"没有连接",我需要关闭我的设备,然后打开它,同样的情况是如果wifi关闭,我打开应用程序,它会抛出"无连接"的错误,如果我打开它,仍然它抛出"无连接"的相同错误,除非我关闭并打开设备.

connection android

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

在发行包中使用virtualenv部署Django?

我必须将一个Django应用程序部署到SuSE Linux Enterprise 11系统上.公司规则说我只需要使用RPM进行部署.虽然我可以使用./setup.py bdist_rpm每个依赖项,但它并不是真正理智,因为RPM还没有记录所有依赖项.因此,我没有使用RPM的真正优势,手动管理依赖项有点麻烦,我想避免它.

现在我有了以下想法:在构建软件包时,我可以创建一个virtualenv,通过pip那里安装所有依赖项,然后将其余的代码打包到一个固态RPM中.

这种方法有多明智?

deployment django pip rpm virtualenv

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

哪个是最佳协议TCP或UDP?

我将开发一个Android应用程序,通过WiFi传输音乐文件,联系人交换,语音聊天,文本聊天等.哪种协议适合我的应用程序UDP或TCP.因为这两个协议都有一些优点和缺点.你能给我一些建议吗,这对我有帮助..

提前致谢

android

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

Erlang,读取带字符偏移量的文件

我有代码在文件中找到特定的文本出现并给我一个偏移量,所以我知道这个出现的结果.现在我想从该偏移量到文件末尾读取文件.该文件包含二进制数据和文本.我如何在Erlang中执行此操作?

erlang

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

Maven surefire插件永远挂起

我的项目安装完全正常,直到昨天,但今天我的安装卡在以下,

Apache Maven 2.2.1(r801777; 2009-08-06 20:16:01 + 0100)

Java版本:1.6.0_20

[INFO] Surefire report directory: C:\Perforce\project-name\target\surefire-reports

基本上在此行之后,安装根本不进行.有什么想法吗?

  1. 我尝试过mvn -X,我得到同样的东西.
  2. 我甚至升级到最新版本2.6仍然得到同样的问题
  3. 我确保没有调试选项,即JVM没有等待任何调试器附加(-Xdebug选项)

java maven-2

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

学习LISP有什么好处吗?

我是一个非常有经验的Ruby,Objective C和Java程序员,我正在观看关于emacs的视频(因为我一直在使用Vi),并注意到它也是一个LISP解释器.这激起了我的兴趣,并提出了一个有趣的问题:对于那些了解现代高级语言(如Ruby,Java和Objective C)的人来说,学习LISP有什么实际好处吗?我是否可以通过留出一些时间学习LISP来获得任何收益?我想听听你们有什么要说的.谢谢.

lisp

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