求翻译?翻译下面短文,谢谢!!!急

Figure11.27showshowwemightusethelock-and-copyapproachtocreateathread-safe(butnotreent... Figure 11.27 shows how we might use the lock-and-copy approach to create a thread-safe (but not reentrant) wrapper that the calling program can invoke instead of the original thread-unsafe function.
Finally, we can go all out and rewrite the unsafe function so that it is reentrant, as shown in Figure 11.28. Notice that the calling thread now has the responsibility of passing an address that points to unshared data.

Even if we have managed to make our functions thread-safe, our programs can still suffer from subtle synchronization errors such as races and deadlocks.
We will use a similar technique in Chapter 12 when we discuss the design of threaded network servers.
Threads are a popular and useful tool for introducing concurrency in programs. Threads are typically more efficient than processes, and it is much easier to share data between threads than between processes. However, the ease of sharing introduces the possibility of synchronization errors that are difficult to diagnose.

Programmers writing threaded programs must be careful to protect shared data with the appropriate synchronization mechanisms. Functions called by threads must be thread-safe. Races and deadlocks must be avoided. In sum, the wise programmer approaches the design of threaded programs with great care and not a little trepidation.
展开
919822603
2010-12-15 · TA获得超过1618个赞
知道小有建树答主
回答量:166
采纳率:100%
帮助的人:78.6万
展开全部
图11.27显示我们怎么也许使用锁和拷贝不是方法创造调用程序可能祈求而不是原始的穿线不安全的作用的一个穿线安全(但是凹角)封皮。
Finally,我们可以全力以赴和重写不安全的作用,以便它是可再入的,如图11.28所显示。 注意叫的螺纹现在有通过地址那点的责任对独享的数据。

,即使我们设法使我们的作用穿线安全,我们的节目可能仍然遭受微妙的同步误差例如种族和僵局。当我们谈论穿线的网络服务系统,设计We在第12章将使用一个相似的技术。
Threads是为介绍并发的普遍和有用的工具在节目。 螺纹比过程典型地高效率,并且分享在螺纹之间的数据比在过程之间是更加容易的。 然而,舒适分享介绍的同步误差的可能性是难诊断。

Programmers文字穿线的节目一定小心保护与适当的同步机制的共享数据。 作用由螺纹叫一定是穿线安全的。 必须避免种族和僵局。 总之,明智的程序员接近穿线的节目设计慎重地和没有小的惊恐。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
独舞69
2010-12-15 · TA获得超过2539个赞
知道答主
回答量:108
采纳率:0%
帮助的人:50.4万
展开全部
图11.27可以用它显示我们如何lock-and-copy途径来建立一个线程安全(但不是可封装调用的程序),取代原来的可被调用thread-unsafe功能。

最后,我们可以去都出去、改写不安全的功能,它是可11.28,如图所示。值得注意的是,现在有责任调用线程的传球的地址,指出如果不分享数据。

即使我们设法使我们的功能,我们的节目仍然可以线程安全遭受微妙的同步误差,如种族和死锁。

我们将用相似的技术在第十二章,当我们在讨论设计的线程化的网络服务器。

线程是一个流行的、有用的工具来介绍并发在程序。线程是典型的更有效率,比流程,就很容易,线程间共享数据之间的过程。然而,便于分享介绍了同步的可能性的错误是很难诊断。

程序员写作线程化的程序必须小心保护共享数据与相应的同步机制。功能被线程必须线程安全。种族和锁必须避免的。总之,聪明的程序员的设计方法非常仔细,线程化的程序是一个小惶恐的心情。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
057488588297
2010-12-15 · TA获得超过235个赞
知道答主
回答量:107
采纳率:0%
帮助的人:74.7万
展开全部
图11.27显示了我们如何使用锁定和复制的方法来创建一个线程安全的(但不折返)的包装,调用程序可以调用而不是原来的线程不安全的函数。
最后,我们可以全力以赴,改写了不安全的函数,以便它是可重入,如图11.28所示。请注意,现在有调用线程的地址传递到非共享数据的责任点。
即使我们设法让我们的职责,线程安全的,我们的程序可以仍然受到种族和死锁等细微同步错误。
我们将使用第12章类似的技术,当我们讨论线程网络服务器的设计.
线程是程序中引入并发流行的和有用的工具。线程是进程的效率通常比,它是非常容易线程之间共享数据比进程之间。然而,方便的分享介绍了同步错误难以诊断的可能性。
程序员在编写线程程序必须注意用适当的保护共享数据同步机制。用线程调用的函数必须是线程安全的。种族和死锁必须避免。总之,聪明的编程方法的非常仔细,没有一点恐惧线程程序设计。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式