并发编程:我应该先编写一个顺序程序,然后添加线程安全



我正在研究一个项目,我们必须在其中创建许多线程(测试人员(TA)将输入实际号码)。我不仅在编程方面都遇到了麻烦,而且在设计方面,我无法将头缠绕在所有将被调用的线程以及可能导致错误的地方。该项目即将到期,所以我不想浪费时间,如果它实际上让我回来,但是我想知道我是否应该像只运行一个线程一样编写程序,一切都应该是顺序返回并尝试添加代码的线程安全部件?这需要两倍的时间吗?

项目描述:注意:我将尽可能模糊,所以我不会违反任何荣誉代码,对不起:(

您的程序应接受n个objecta线程数,m的objectb线程数和r objectc

的r数

Objectb线程与Objecta中的代码交互。Objecta线程与ObjectB和ObjectC中的代码交互objectb和objectc不直接交互,但通过objecta间接进行互动 -ex:ObjectB需要来自Objecta的内容。Objecta获得了结果 调用对象

我的混乱主要源于以下事实:所有这些交互将由m n线程完成,并且在整个描述中都有各种限制,例如objectb可以从objecta请求某些内容,而objecta必须等待objectc来完成该限制。在将其返回对象b之前。另外,每个objecta线程一次只能一次从objectb等指令上使用。

我只想知道是否编写代码,以便只有1个对象,1个对象b和1个对象C,我可以返回并轻松地修改它,以便可以将这些1个更改为m,n和r?

再次对不起,如果我的描述有些混乱。

我想知道我是否应该像只运行一个线程一样编写程序,并且一切都应该是顺序的,然后再回去尝试添加代码的线程安全零件?

我将首先使用最少线程的程序来工作。然后,我会重写它以使用多个线程。您不应该低估这可以进行多少工作,并且您必须在做时重新访问所有假设。

这需要两倍的时间吗?

至少两倍的时间很长,但更有可能工作。如果您尝试一次完成所有操作,那么您可能会遇到一团糟,而不是根本无法工作。如果给您付出的努力,并且有时会得到线程安全错误,那么所有方法都可能会给您最好的标记。如果您正在专业发展,那么与使用多个线程罕见且难以复制的错误相比,有一些与一个线程一起使用的东西要好得多。

相关内容

  • 没有找到相关文章

最新更新