为了达到良好的可扩充性,系统采用了多线程结构、吸收了软件流水的思想并使用了组播技术。
To get high scalability, the DSM system USES multi-thread technology, multicast technology and absorbs the software pipeline ideas.
这个跟踪以根集开始,它由一些内部结构组成,比如线程栈和对象的全局引用。
This tracing starts with the root set, which consists of internal structures such as thread stacks and global references to objects.
但是这种数据结构并不能使删除或暂挂不再相关的线程变得容易。
But this data structure does nothing to make it easy to remove or suspend threads that are no longer relevant.
除了栈空间之外,每个线程都需要一些本机内存用于线程本地存储和内存数据结构。
In addition to stack space, each thread requires some native memory for thread-local storage and internal data structures.
VM对象包含了表示当前线程执行的数据结构,例如当前的块、绑定以及异常等。
The VM object contains data structures for the very specific thread execution, like for instance current blocks, bindings, exceptions, etc.
可以考虑使用一个线程安全容器类—一个保证用户操作线程安全的数据结构。
Consider a thread-safe container class - a data structure that guarantees thread safety to its clients.
在某些方面,这就象第一次卷入使用OOP(面向对象编程方法)、结构化编程或多线程时概念上的转变。
In some ways, this is like the conceptual shift involved in using OOP, or functional programming, or multi-threading, for the first time.
图中,锁定了互斥对象的线程能够存取复杂的数据结构,而不必担心同时会有其它线程干扰。
The thread in this image that has the mutex locked gets to access the complex data structure without worrying about having other threads mess with it at the same time.
当向列表前添加元素时,甚至不必修改现有的列表结构,就可以让其他线程自由地遍历它。
As long as you append to the front of the list, you won't even have to touch the existing list structure, allowing other threads to iterate through it freely.
然而,即使你擅长于多线程逻辑,在获取该数据结构的元素项时,仍然有些复杂。
Yet even the act of retrieving an item can be rather complex if you try to be too clever with multi-threading logic.
注:内核线程会读取这个全局结构,并会根据这个全局结构中的元素来生成中断。
Note: the kernel thread will read the global structure, and interrupts will be generated based on the elements in the global structure.
您可以想象一下,如果能够基于每一个线程堆栈结构及其对象重建或反向工程生成转储文件发生时的状态。
You can imagine the power of being able to reconstruct or reverse-engineer what was happening at the time of the dump based on what was happening in each thread stack frame and on which objects.
接下来,对于另一个线程池类DatamineThread,几乎复制了完全相同的结构。
Next, you almost copy the exact same structure for the next thread pool class, DatamineThread.
如果no -os线程变量在初始化变量结构中已经设置,对C_Initialize的调用将会失败。
If the no-os threads argument is set in the initialize arguments structure, the call to C_Initialize will fail.
在此结构中,只需在 /topics/ 后面输入某个内容即可容易地收集讨论线程。
Within this structure, it's easy to pull up discussion threads just by typing something after /topics/.
可以访问进程、线程、用户和mst结构中的特定字段。
You can access specific fields from the process, thread, user and MST structures.
其数据结构要比传统shell更加强大,它的语法简单易懂,其底层虚拟引擎支持从枚举类型到线程等所有内容。
Its data structures are more capable than a traditional shell, it's syntax is familiar, and its underlying virtual engine supports everything from enumerated types to threads.
字典或类可能是线程管理中更好的数据结构。
A dictionary or a class is likely to be a better data structure for thread management. As a quick example, below is a class that can (almost) drop in for the threads list in the examples.
这两者都体现了延迟初始化的特性(因此又被称为futures)。前者是一个类,而后者则是一个轻量的,但并非“绝对”线程安全的结构。
Both support the idea of deferred initialization, also known as futures, the former is a class and the later a lightweight and slightly less safe structure.
对于分离容器(Separate Containers)体系结构,为了进行多线程测试,Tomcat的server . xml中的设置需要作如下调整。
For multithreaded testing for Separate Containers, Settings in Tomcat's server.xml were adjusted as follows.
更慢一点儿的数据结构是HashMap,然后是ThreadLocal(这基本上是一个以当前线程作为键的特殊散列表)。
The next-fastest data structure is HashMap, followed by ThreadLocal (essentially, a specialized hash table in which the current thread is the key).
这就是说,通过线程的锁定和解锁,对于某一数据结构,确保某一时刻只能有一个线程能够访问它。
That is, you make sure that only one thread at a time can access a certain data structure by locking and unlocking it.
这样允许您创建一个任意复杂的数据结构,并将它作为一个指针传送给需要在这个数据结构上进行操作的线程。
This allows you to create an arbitrarily complicated data structure for the thread to work on, and pass it in as a single pointer.
如果您需要在一个进程内部对线程使用很多锁,那么可以考虑使用自动完成锁的维护的语言或者语言结构。
If you need many locks for threads inside a process, consider using a language and language constructs that automatically do a lot of lock maintenance.
这种类型的无限循环有时是由于多线程访问共享的不同步的数据结构造成的。
This type of infinite loops can sometimes occur due to multithreaded access into a Shared unsynchronized data structure.
本文是两篇系列文章的第一篇,讨论如何在多线程环境中设计并发数据结构。
This article, the first in a two-part series, discusses the design of concurrent data structures in a multithreaded environment.
释放J VM结构的操作让gc线程以一种安全的形式处理这些结构;对部分更新的结构进行读和写操作可能导致不可预测的行为和冲突。
The act of releasing JVM structures lets the GC thread process these structures in a safe fashion; reading and writing to partially updated structures can cause unexpected behavior and crashes.
它主要作用只是展示线程的基础结构。
问题是,同一时间内,另一个线程对同一数据结构进行了另一个修改。
The problem is that we have another thread performing the other modifications to the same data structure effectively at the same time.
通过保持较浅的锁层次结构,可以锁定最少量的对象,您能够影响最大量的需要调整优先级的线程。
By keeping lock hierarchies shallow, which translates to locking as few objects as possible, you can affect the maximum number of threads that need to be priority adjusted.
应用推荐