问题列表 - 第33666页

为什么java thread wait()只能在这里使用时间限制?

我试图熟悉SCJP的Java线程,我有一个问题.

在下面编写的代码中,我简单地创建了:两个带有公共数据存储(一个数组)的Runnable和一个用于连续填充数据的同步write()方法,依次为每个Runnable(A和B)留下一个字母作为标记.

我知道代码很粗糙,可以更好地编写,但我正在寻求线程的道德.

所以现在当我运行它时,它永远不会终止,结果停在:

还好.A0.

但是,当我将wait()更改为wait(100)时,它可以正常计数从0到9并正常终止.有人可以解释一下这背后的原因吗?

谢谢.

public class ArrayThreads {

Object[] array = new Object[10];
boolean isA = true;

    int position = 0;

    int getIndex(){
        return position;
    }



class ThreadA implements Runnable{

            synchronized void write(String value){
                    while(!isA){
            try {
                wait();
            } catch (InterruptedException ex) {
                System.out.println("An error in" + value);
                ex.printStackTrace();
            }
        }
        array[position] = value + position;
        System.out.println(array[position]);
        position++;
        isA = !isA;
        notify();
    }

    public void run() {
        while(getIndex()<array.length){
            if (getIndex()==9) return;
            else
        write("A");}
    }
}

    class ThreadB …
Run Code Online (Sandbox Code Playgroud)

java multithreading time-wait wait

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

如何开发与多个数据库管理系统兼容的Web应用程序

如何设计和管理应与多个数据库管理系统(如Oracle和MS SQL Server)兼容的Web应用程序的开发?

如果您不能像NHibernate或EF 那样使用ORM,那么在开发过程中如何维护数据库模式?

我现在的方法是在SQL Server上建立一个开发数据库,​​并在发布测试补丁之前将其移植到Oracle(使用工具),以测试两个rdbms上的软件.(该工具还会生成应用程序用于升级数据库的文件)

这是一个好方法吗?那么Visual Studio 的数据库项目呢,它是保存我的数据库模式的更好方法吗?

编辑: 这个问题不是关于设计应用程序的体系结构(我已经有一个抽象的数据访问层),而是如何在开发过程中为不同类型的rdbms维护数据库模式.

c# database asp.net rdbms

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

如何在页面请求之间保持Telerik TabStrip选项卡?

在Telerik ASP.NET MVC TabStrip中,我希望页面记住最后选择了哪个选项卡,并通过多个页面请求保留选择.我所拥有的是一个部分视图,显示在多个页面中,它包含TabStrip.使用SelectedIndex,设置选项卡始终被选中,这将使用户的选择无效.

asp.net-mvc telerik

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

Django haystack multivalued不起作用

我已经为我的索引(haystack)添加了一个MultivaluedField,我需要搜索ManyToMany相关字段,但它不起作用.

该引擎是WHOOSH.

这是我的索引的样子:

 class PostIndex(SearchIndex):
     text = CharField(document=True, use_template=True)
     author = CharField(model_attr='author') 
     body = CharField(model_attr='body') 
     pub_date = DateTimeField(model_attr='publish') 
     regions = MultiValueField() 

 def prepare_regions(self, obj):
     return [region.name for region in obj.regions.all()]
Run Code Online (Sandbox Code Playgroud)

这就是我的模型的样子:

 class Post(models.Model):

     title           = models.CharField(_('title'), max_length=200)
     author          = models.ForeignKey(User, blank=True, null=True)
     body            = models.TextField(_('body'), )
     allow_comments  = models.BooleanField(_('allow comments'), default=True)
     publish         = models.DateTimeField(_('publish'), default=datetime.datetime.now)
     categories      = models.ManyToManyField(Category, blank=True)
     tags            = TagField()
     objects         = PublicManager()

     regions         = models.ManyToManyField(Region, blank=True)
Run Code Online (Sandbox Code Playgroud)

如果我使用SearchQuerySet().filter(region__in = words_list)它可以工作.问题是我不知道用户何时搜索某个区域或其他字段,因此我必须使用SearchQuerySet().filter(content__icontains = words_list).并且以这种方式找不到任何东西.

谢谢

谢谢!!

django multivalue whoosh django-haystack

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

以允许响应更新的方式重载C++索引下标operator []

考虑编写可索引类的任务,该类自动将其状态与某些外部数据存储(例如文件)同步.为了做到这一点,需要让类知道可能发生的索引值的更改.不幸的是,重载operator []的常用方法不允许这样做,例如......

Type& operator[](int index)
{
    assert(index >=0 && index < size);
    return state[index];
}
Run Code Online (Sandbox Code Playgroud)

我有什么方法可以区分被访问的值和被修改的值?

Type a = myIndexable[2]; //Access
myIndexable[3] = a;  //Modification
Run Code Online (Sandbox Code Playgroud)

这两种情况都在函数返回后发生.有没有其他方法来重载operator [],这可能更有意义?

c++ indexing operator-overloading

25
推荐指数
3
解决办法
4万
查看次数

生成随机数的算法?不要使用System.Random

如果没有System.Random类,你怎么会生成一个随机数?

是否有任何已知的算法或你有没有设计过?

.net c# java random

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

使用前进的优点

在完美转发中,std::forward用于转换命名的右值引用t1t2未命名的右值引用.这样做的目的是什么?inner如果我们离开t1&t2作为左值,那将如何影响被调用的函数?

template <typename T1, typename T2>
void outer(T1&& t1, T2&& t2) 
{
    inner(std::forward<T1>(t1), std::forward<T2>(t2));
}
Run Code Online (Sandbox Code Playgroud)

c++ c++-faq rvalue-reference perfect-forwarding c++11

411
推荐指数
6
解决办法
6万
查看次数

解析并删除部分QString

我想从QString解析某种(或纯粹的)XML代码.

我的QString就像:

<a>cat</a>My cat is very nice.
Run Code Online (Sandbox Code Playgroud)

我想获得2个字符串:

,我的猫非常好.

我认为XML解析器可能不是必需的,但是将来我会在同一个字符串中有更多的标签,所以它也是一个非常有趣的点.

c++ xml qstring qt parsing

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

如何使用xdebug与eclipse IDE for PHP

您好我的PHP项目是在远程测试机器上设置的.我需要使用eclipse IDE进行调试.我该如何进步.我开始知道我应该更喜欢Xdebug而不是zend调试器.

php eclipse debugging xdebug

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

变量变量:有用吗?

可能重复:
变量变量的实际用途是什么?

好吧,这个问题可能看起来有点点 - 白痴,但我真的很想知道:变量变量何时有用?我用PHP编程好几年了,但我从来没有用过它们.对我来说,它看起来很有趣而不是有用.

变量变量的一些现实生活中的例子是什么?

更新:

我对你的投票感到非常抱歉.除了一件事之外,链接的"重复"可能真的是一个骗局:那里列出的例子告诉我为什么不使用变量变量.

php variable-variables

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