|
|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Andrei Sokolik 2:5022/2.20 21 Jan 2002 16:31:24 To : yurik shestakov Subject : Hа: Hа: в чем зло хранимых процедур? --------------------------------------------------------------------------------
Saturday January 19 2002 13:52, yurik shestakov wrote to Andrei Sokolik:
ys> И где в результате исполняется скомпилированный код? В адресном
ys> пространстве основного процесса(ов) СУБД, или в отдельном?
В Oracle много пpоцессов. Сyдя по описаниям в том, котоpый обpабатывает сессии.
Если dedicated сеpвеp - по пpоцессy на каждый коннект. Для mts - один пpоцесс на
гpyппy пользователей.
=== Cut ===
The Aurora JVM implements a non-preemptive threading model. With this model, the
JVM runs all Java threads on a single operating system thread. It schedules them
in a round-robin fashion and switches between them only when they block.
Blocking occurs when you, for example, invoke the Thread.yield() method or wait
on a network socket by invoking mySocket.read().
Oracle chose this model because any Java application written on a
single-processor system works identical to one written on a multi-processor
system. Also, the lack of concurrency among Java threads is not an issue because
Aurora is embedded in the database, which provides a higher degree of
concurrency than any conventional JVM.
There is no need to use threads within the application logic because the Oracle
server preemptively schedules the session JVMs. If you must support hundreds or
thousands of simultaneous transactions, start each one in its own JVM. This is
exactly what happens when you create a session on the JServer. The normal
transactional capabilities of the Oracle database server accomplish coordination
and data transfer between the Java virtual machines. This is not a scalability
issue, because in contrast to the 6 to 8 MB memory footprint of the typical Java
virtual machine, the Oracle server can create thousands of Java virtual
machines, with each one taking less than 40 KB.
Threading is managed within Aurora by servicing a single thread until it
completes or blocks. If the thread blocks, by yielding or waiting on a network
socket, the JVM will service another thread. However, if the thread never
blocks, it is serviced until completed.
=== Cut ===
Andrei
--- GoldED/W32 3.0.1
* Origin: (2:5022/2.20)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/26883c4c34e3.html, оценка из 5, голосов 10
|