Task_group using in threads

Due to task_group it thread-safe. But this code fails:
concurrency::task_group tg;
create_async([this, &tg]()
tg.run_and_wait([this]()
for (auto i = 1; i < 1000; i++)
auto a = 1000000000 / i;
How can i make safe access to task_group object?

You need to synchronize access to a variable, e.g. using a mutex
task_group is thread-safe means that you can add tasks to a task_group object from multiple threads and wait on or cancel a task_group object from multiple threads: https://msdn.microsoft.com/en-us/library/dd492427.aspx
Best Regards,
Please remember to mark the replies as answers if they help

Similar Messages

  • Bridge is slow because it's only using two threads

    I'm finding that Bridge (CS6) exhibits very poor performance when building 100% previews, I think the software is limited to only two threads.
    If you load bridge and go into a folder with some images and then Tools->Cache->Purge you'll see that Bridge takes a long time to rebuild the previews even on a high end machine, especially if you have both "Always High Quality" and "100% Previews" selected. I think the problem is that it appears to build the previews using only two threads on the CPU, so while a 2005 dual core machine might get maxed out, a Quad Core, or 8 Thread, or even 12 Thread machine sits there mostly idle while Bridge grinds away for an hour or more.
    It's easy to check this, just load up Windows Task Manager, and view the "Processes" tab and Bridge will only ever use 2 threads worth of CPU cycles, i.e. 50% on a Quad Core, and 17% on a 12 Thread high end desktop. I've seen the problem with JPG files, PSD files, and NEF files (Nikon RAW). The processing time of large Nikon D800E NEF files is very slow. After shooting 900 images I can expect the preview build time to take over an hour on a super high end machine with loads of memory, storage IO, and CPU cores and threads, all because it appears bottlenecked on software design. Meanwhile the machine is only running at roughly 20% utilization, the memory barely used, and the IO system close to idle.
    I'm using Windows 7 Ultimate 64-bit, 64GB RAM, 12 Thread Core i7 3960X at 4Ghz, two Nvidia GTX470 graphics (in SLI), a 2-way RAID-0 SSD storage array for the OS, and an 8-way RAID-0 SSD array for the photoshop work files. The hardware is clearly not the issue. Although, just to check, I confirmed the same problem exists on a simple Win8 Core i7 system, and a Core i5 laptop.
    Even worse, after waiting an hour to build previews for 900 images (3 seconds each), after adding GPS data, or after making edits in Camera Raw it then needs to rebuild all the previews again, this is understandable, but super fustrating when you know it's not working as fast as it really should be.
    To be clear, I'm not upset it takes 6 seconds per image per thread - there's a lot of work to do, especially with D800 files. But I'm upset that Bridge's software design only uses 2 threads, and thus limits performance to building a preview every 3 seconds, when in fact it could be working 6 times faster on a PC with 12 thread, and I find it shocking that Adobe's latest software wouldn't be optimized for anything more than a dual core CPU, wasn't quad core launched in 2006?
    Roland.
    P.S. for any Adobe Tech's reading - I submitted this under case number 184020852 and there's an attached PDF in the ticket including several screenshots.

    There have been many discussions in Photoshop forum about processor speed and multicores.  I know Bridge is not Photoshop but it may give you some insight as what is going on.  Photoshop has supported multithreading since CS3.  Here is a quote from Adobe Tech Note:
    Photoshop generally runs faster with more processor cores, although some features take greater advantage of the additional cores than others. There is a law of diminishing returns with multiple processor cores: The more cores you use, the less you get from each additional core. Therefore, Photoshop doesn’t run four times as fast on a computer with 16 processor cores as on a computer with four cores. For most users, the increase in performance that more than six cores provides doesn't justify the increased cost.
    I run embedded thumbnails (therefore 100% previews are off) as they take up less space and are the fastest to load.  I ran a simple test with Bridge CS5 (32 bit) and CS6 (64 bit) on one folder of 200 video images totaling 16 gigs, or 80 meg per file.  With folder loaded I clicked Tools/Cache/purge cache for xxx folder.  I then timed the rebuild until the arrow stopped spinning in lower left hand corner.  For CS5 the time was 35 seconds.  For CS6 the time was 72 seconds. 
    I then took a folder of 1147 jpg images of 660 meg (427k/image).  In CS5 it took 12 seconds to build the cache, and the same for CS6.  However, the interesting part of this is when I loaded this folder in CS6 I had never been there before so it had to build it.  THis took 80 seconds.  When I purged it an it rebuilt it took 12 seconds.  I have noticed this phenomemum before where the initial build takes 5-7 times longer than a rebuild of the cache.
    I then ran the same test with the still images with 100% preview and Always High Quality.  With CS5 it took 3 min 30 seconds and with CS6 it took 5 min. 20 seconds.
    So with these very SIMPLE tests I conclude that CS6 has quite a bit slower cache process than CS5.  As we have all learned with buying new products, new and improved does not always mean it is better. 

  • Client/Server in one program (using multiple threads)?

    Is there some examples out there of how to use a client and server in a single program using separate threads? Also, is it possible to start a third thread to control the packets, such as drop a random or specified number of packets (or match on specific data in a packet)?

    Just trying to have a client send udp packets to a server (all on the same machine running from the same program) and want to be able to drop packets coming from the client side to the server side.
    E.g.,
    Here's an example that I found here: http://compnet.epfl.ch/tps/tp5.html
    import java.io.<strong>;
    import java.net.</strong>;
    import java.util.<strong>;
    /</strong>
    * Server to process ping requests over UDP.
    public class PingServer {
         private static double lossRate = 0.3;
         private static int averageDelay = 100; // milliseconds
         private static int port;
         private static DatagramSocket socket;
         public static void main(String[] args) {
              // Get command line arguments.
              try {
                   if (args.length == 0) {
                        throw new Exception("Mandatory parameter missing");
                   port = Integer.parseInt(args[0]);
                   if (args.length > 1) {
                        lossRate = Double.parseDouble(args[1]);
                   if (args.length > 2) {
                        averageDelay = Integer.parseInt(args[2]);
              } catch (Exception e) {
                   System.out.println("UDP Ping Server");
                   System.out.println("Usage: java PingServer port [loss rate] [average delay in miliseconds]");
                   return;
              // Create random number generator for use in simulating
              // packet loss and network delay.
              Random random = new Random();
              // Create a datagram socket for receiving and sending UDP packets
              // through the port specified on the command line.
              try {
                   socket = new DatagramSocket(port);
                   System.out.println("UDP PingSever awaiting echo requests");
              } catch (SocketException e) {
                   System.out.println("Failed to create a socket");
                   System.out.println(e);
                   return;
              // Processing loop.
              while (true) {
                   // Create a datagram packet to hold incoming UDP packet.
                   DatagramPacket request = new DatagramPacket(new byte[1024], 1024);
                   // Block until the host receives a UDP packet.
                   try {
                        socket.receive(request);
                   } catch (IOException e) {
                        System.out.println("Error receiving from socket");
                        System.out.println(e);
                        break;
                   // Print the received data.
                   printData(request);
                   // Decide whether to reply, or simulate packet loss.
                   if (random.nextDouble() < lossRate) {
                        System.out.println("   Reply not sent.");
                        continue;
                   // Simulate network delay.
                   try {
                        Thread.sleep((int) (random.nextDouble() * 2 * averageDelay));
                   } catch (InterruptedException e) {}; // Ignore early awakenings.
                   // Send reply.
                   InetAddress clientHost = request.getAddress();
                   int clientPort = request.getPort();
                   byte[] buf = request.getData();
                   DatagramPacket reply = new DatagramPacket(buf, buf.length,
                             clientHost, clientPort);
                   try {
                        socket.send(reply);
                   } catch (IOException e) {
                        System.out.println("Error sending to a socket");
                        System.out.println(e);
                        break;
                   System.out.println("   Reply sent.");
          * Print ping data to the standard output stream.
         private static void printData(DatagramPacket request) {
              // Obtain references to the packet's array of bytes.
              byte[] buf = request.getData();
              // Wrap the bytes in a byte array input stream,
              // so that you can read the data as a stream of bytes.
              ByteArrayInputStream bais = new ByteArrayInputStream(buf);
              // Wrap the byte array output stream in an input stream reader,
              // so you can read the data as a stream of characters.
              InputStreamReader isr = new InputStreamReader(bais);
              // Wrap the input stream reader in a buffered reader,
              // so you can read the character data a line at a time.
              // (A line is a sequence of chars terminated by any combination of \r
              // and \n.)
              BufferedReader br = new BufferedReader(isr);
              // We will display the first line of the data.
              String line = "";
              try {
                   line = br.readLine();
              } catch (IOException e) {
              // Print host address and data received from it.
              System.out.println("Received echo request from "
                        + request.getAddress().getHostAddress() + ": " + line);
    }I'm looking to do the "processing loop" in a separate thread, but I'd also like to do the client in a separate thread
    So you're saying, just put the client code in a separate class and start the thread and that's it? As far as the packet rate loss thread, is this possible to do in another thread?

  • How to use multiple threads and swing for displaying status/interaction

    I have a Swing-app which have to show progress and allow userinteraction for these tasks:
    * First:
    retrieve a list of IDs(String) from the database (single thread running)
    * Second:
    some work on the id-list and list written to hd (same thread as above)
    * Third:
    retrieve Objects (based on the id-list) from different sources (Multiple Threads are running)
    To show the status I have a JProgressBar (indeterminate while task1&2 running) and
    a JTextArea showing the current status (connect,retrieve list, sort, ...)
    When task3 is starting the JTextArea have to disappear and be replaced by a ScrollPane
    with an array of Labels/TextAreas showing the status of each thread.
    While theses threads are working, the ID-list will be consumed and the JProgressBar
    shows the remaining precentage of the hole progress.
    Everything is working so far (excepts UI :) , the problem(s) I have:
    I need the threads to interacts with the user through the ui. e.g: "Connection to db-xyz lost! reconnect?"
    But I don&#180;t know how to do this correctly.
    I think one way would be to send an event to the ui... but how?
    (the ui must know which thread is calling to unpause it after user answered)
    I know that threads should NOT change the swing(-container) - How do I notify the ui that a thread has a question?
    Since these threads are really time-consuming the UI is not updated frequently,
    how can I increase this? (perhaps using another thread-priority?)
    thanks for help!

    if/when your threads need to interact with the UI, they can create a Runnable & send it to SwingUtilities.invokeLater or invokeAndWait. This Runnable can popup a message to the user, and act on the choice of the user (reconnect, cancel, ...). This action could be something which "unpauses" the task thread.
    You may need to do synchronisation between the code in the Runnable & the Thread to which it is related - so the latter Thread knows when the user has made the choice.

  • Should I use a thread and (in this case) how?

    Hi:
    I have a Swing frame (frameA) and on which there is a button; if I double click it,
    it will bring up a second frame (frameB). On frameB, I will select a new button name
    from a combobox, and click "DONE" button, and frameB would change the name of the
    button on frameA to this new name I selected. And frameB would disappear as well.
    I am thinking of using another thread for painting frameB, because I don't know how long
    it would take for frameB to load up, and I don't want to block up the event-dispatching thread
    on frameA.
    However, since frameB uses another thread, and frameB also has an ActionListener
    associated with the DONE button, i am not sure how to make the thread stay alive
    so that it could check whether the ActionEvent is fired. So, in this case, is it necessary to use
    another thread to do the job? Or should I just use the same event-dispatching thread?
    Or is there another whole new approach much better?
    Thanks

    Quite simply, I wouldn't bother threading it.
    If you load, link and instantiate the pop-up frame (actually I'd use a Dialog here) before you trigger the pop-up, the reaction is more or less instant. The execution of th parent frame will continue after the pop-up has been made visible, so any way you cut it, you are going to get a brief pause in the parent UI while the pop-up is shown - you may as well have it when the button is clicked.
    Hope this helps.--
    <sig> http://www.itswalky.com http://www.crfh.net </sig>

  • Using multi threading to access 2 RS232 ports

    Hi,
    I'm a beginner in multi threading, so this question may be a very basic one....
    I'm Using TS3.5 + CVI 8.01 to communicate withs 2 RS232 ports.  I thought to use mult threading so I can process 2 steps in parallel rather than in series. 
    This is what I do:
    1) I defined 2 subsequences, each of them call the same CVI function.  I use the sub sequence parameters to transfer the com number.
    2) My CVI application includes one dll for this specific project and another one, a general dll to handle RS232 functions.  The RS232 dll uses one global buffer than collects all the traffic on the com. 
    QUESTIONS:
    1) What happens when 2 seperate threads run the same function in the RS232 dll?  (in terms of memory etc...).  Does each one use a different buffer (in terms of memory allocation), or, both of them writes to the same buffer?   Obviously, if they writes to the same buffer, then, my function will not operate properly.
    2) What happens in TestStand after the 2 steps in new threads have finished their execution?  does the next step run back in the same threads the sequence run before?
    Thanks
    Rafi

    Rafi,
    Glad to hear you were able to make some ground on your application. As for all of your questions, I'll try to answer as many as I can.
    First, when you are talking about your global buffer, is it created in TestStand or in the DLL itself? When you use DLLs, global variables or global structures are shared between all threads that call your DLL. On the other hand, if your buffer is declared inside of the DLL it is global for the DLL but not shared and would be a separate buffer for each call.
    With your run-time error in TS, it would definitely be helpful to have more information about the error. From what you explained (executing fine on the first call, but failing on future executions), it sounds like the resource is not being released after the first execution.
    As far as a specific example for TestStand Multithreading, you'll want to look at the TestStand Development Library and, specifically, Multithreading in TestStand. If you look and browse through the Application Notes and Tutorials section, as well as the Technical Presentations section, you will learn a great deal about multithreading and what options you have in TestStand. For a specific example, you may want to look at This Example. You could also look in the <TestStand>\Examples (where <TestStand> is the directory where TS is installed) at the MultiUUT example for an example of multithreading in TS. These examples may not be exactly what you need, but they should give you a jump start.
    As far as making your DLL multithread safe, it is definitely not necessary; however, there are some significant advantages described in this article: Designing Thread-Safe DLLs. It is an MSDN article that focuses on Visual Basic, but it has some helpful information that can apply to C as well.
    Hopefully this can help you move further. I have attached a list of links at the end of this post with other helpful links for you as well. Keep us posted with your progress.
    Matt Mueller
    NI
    Links:
    General Information on Multithreading for C Programmers
    Building Multithreading Applications with LabWindows/CVI
    Multithreading in LabWindows/CVI
    Easy Multithreading Programming in LabWindows/CVI
    Multithreading for Rookies

  • Force oracle 9i installer to use green thread

    I want to install Oracle 9i on freebsd but I was unable to launch the installer because of the java runtime envoronnment, for the Oracle 8i installer We had to specify the installer to use green threads but I was unable to find where to specify it to the 9i installer.
    Any help would be welcome.
    Thanks in advance

    <How can I force oracle 9i to use more CPU >
    Never seen that before; usually we're trying to get Oracle to use LESS CPU!
    Comparing 10g and 9i are difficult and probably an exercise in futility. 10g is a different database and will perform differently. If all of your initialization parameters are identical between instances, the OS is the same version with the same settings, and the hardware is identical then there's not a lot of things to look at. If any of these things are not identical they may or may not be a factor as to why the systems are performing differently.
    The lower CPU on the 9i side suggests something else is slower, possibly data access. You could perform traces on both systems to see things like I/O and memory reads.

  • How can i use multi threading in labview?

    i want to run a Digital storage oscilloscope and an energ ratio meter simultaneously using labview. i am using GPIB interfacing and windows XP. how can i do this using multi threading. Bot the instruments shd run and give data at the same time.

    You can't do this - at least not with a single GPIB board. It has nothing to do with threading or LabVIEW. There can only be one talker at a time over the bus. Depending on the instruments, you could probably set them up to take measurements simultaneously but you have to sequentially poll them to get the data.

  • Performance problem using multi-thread

    I am using berkeley db to store a int/double pair, and i randomly get 100,0000 results to check the performance . Using 1 thread, it cost about 1 Mins. But using 4 threads, it costs 4 Mins. More threads, lower performance. Is there Anyone know the reason?
    Env flags:
    envFlags=DB_CREATE | DB_INIT_MPOOL | DB_THREAD | DB_PRIVATE|DB_INIT_CDB;
    DB open flags: DB_THREAD
    and i use db->get method to get results.

    Berkeley DB 4.8 will be released soon and has features that address CMP/SMP scalability. We would appreciate your feedback on your experiences with it. Once available, please test it and post your results here, I'm sure you'll be pleasently surprised.
    regards,
    -greg

  • Interpretation of the use of threads with Sessions in the JMS Specification

    Hello,
    I’ve been interacting with two JMS Providers which do a different interpretation of the JMS Specification with the use of different threads for accessing to a session and session’s related objects.
    The question is:
    When a client is consuming messages asynchronously, is it possible to access session’s related objects from a thread different to the one dedicated to the asynchronous consumption, on (thread of control)?
    -     Never?
    -     Yes, but the client should provide explicit synchronization.?
    Our execution scenario is:
    1.- Messages are consumed asynchronously from a dedicated thread.
    2.- From other thread, messages consumed are acknowledged.
    In the JMS specification there is, at least, two parts where this issue is treated:
    1.- The first one (4.4.1 - page 60):
    +“There are no restrictions on the number of threads that can use a Session object or those it creates. The restriction is that the resources of a Session should not be used concurrently by multiple threads. It is up to the user to insure that this concurrency restriction is met. The simplest way to do this is to use one thread. In the case of asynchronous delivery, use one thread for setup in stopped mode and then start asynchronous delivery. In more complex cases the user must provide explicit synchronization.”+
    This extract, makes me think that it is possible the access from different threads, but If I do that, I should provide explicit synchronization.
    2.- The second one (4.4.6 – page 62,63)
    +"Once a connection has been started, any session with a registered message listener(s) is dedicated to the thread of control that delivers messages to it. It is erroneous for client code to use this session or any of its constituent objects from another thread of control. The only exception to this is the use of the session or connection close method"?+
    This extract, could be interpreted as that the concurrent access is never allowed in the described situation.

    I think the key words are in 4.4.6 (and also the javadoc for Session): "Once a connection has been started, any session with a registered message listener(s) is dedicated to the thread of control that delivers messages to it".
    My interpretation of this is that you when you register a message listener and call connection.start(), the thread which delivers messages to the listener should be thought of as "using the resources of the session" (as mentioned in 4.4.1) continuously until the connection is stopped (or until the session or connection is closed). it doesn't matter whether the session is executing onMessage() or not.
    Given this, both 4.4.1 and 4.4.6 say the same thing: that once you have registered and started a message listener, the only thing you can do to the session from another thread is to close it.
    I agree the spec could be clearer. In particular the words "In more complex cases the user must provide explicit synchronization" in 4.4.6 should be clarified to state what this actually means rather than give a hint.
    Please note that work has just started on updating the JMS specification, so now is a great time to report areas of the JMS spec which would benefit from clarification. If you'd like this to be considered for clarification, please report it in the official JSR 343 issue tracker at http://jms-spec.java.net
    Nigel

  • [JCoAPI] The context with the session id scope type [null] is currently used in thread HTTP Worker

    Hello to all SAP-experts.
    I have an error in SAP CE, and i can see in troubleshooting following information:
    [JCoAPI] The context with the session id [JCo_mMnig6B1YRWfNCWhW0pY0CgFOhzFTAHqyFEA_SAP:P3fshVcB4PLh3CzLBVbpf5lVRxzFTAHqyFEA_SAPyxuggqvaUEsNVbxNQybjvxH0] scope type [null] is currently used in thread HTTP Worker [@1902361406] [0x91].Current thread is HTTP Worker [@1590998042] [0x97].
    invoked at com.sap.conn.jco.rt.Context.checkBusy(Context.java:633)
    invoked at com.sap.conn.jco.rt.Context.getConnection(Context.java:153)
    invoked at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1466)
    invoked at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1437)
    invoked at com.sap.conn.jco.rt.AbapFunction.execute(AbapFunction.java:300)
    invoked at com.sap.conn.jco.rt.DefaultRequest.execute(DefaultRequest.java:68)
    invoked at com.sap.tc.cm.arfc2.model.ARFC2GenericModelClassExecutable.executeInternal(ARFC2GenericModelClassExecutable.java:107)
    invoked at com.sap.tc.cm.arfc2.model.ARFC2GenericModelClassExecutable.execute(ARFC2GenericModelClassExecutable.java:68)
    invoked at com.sap.tc.cm.arfc2.gci.ARFC2TypedModelClassExecutable.execute(ARFC2TypedModelClassExecutable.java:54)
    invoked at ru.sng.terminal.utt.terminals.wd.comp.utt_term.Utt_term.loadReasonsToStop(Utt_term.java:1542)
    invoked at ru.sng.terminal.utt.terminals.wd.comp.utt_term.Utt_term.wdDoInit(Utt_term.java:186)
    invoked at ru.sng.terminal.utt.terminals.wd.comp.utt_term.wdp.InternalUtt_term.wdDoInit(InternalUtt_term.java:1054)
    invoked at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:161)
    invoked at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:227)
    invoked at com.sap.tc.webdynpro.progmodel.components.Component.initController(Component.java:258)
    invoked at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:206)
    invoked at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:590)
    invoked at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doPreprocessing(ClientApplication.java:1457)
    invoked at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doPreprocessing(ApplicationSession.java:660)
    invoked at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:349)
    invoked at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:326)
    invoked at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doContent(AbstractDispatcherServlet.java:87)
    invoked at com.sap.tc.webdynpro.serverimpl.wdc.DispatcherServlet.doContent(DispatcherServlet.java:89)
    invoked at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doGet(AbstractDispatcherServlet.java:55)
    invoked at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
    invoked at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    invoked at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
    invoked at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)
    invoked at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:457)
    invoked at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
    invoked at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
    invoked at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
    invoked at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:278)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
    invoked at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
    invoked at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
    invoked at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
    invoked at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
    invoked at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
    invoked at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
    invoked at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    invoked at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    invoked at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
    invoked at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
    invoked at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
    invoked at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    invoked at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    invoked at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Please, tell how can i solve this problem ?

    Hi Konstantin,
    it has nothing to do with the number of system threads. You are obviously executing several function modules statefully in multiple threads within the same session context. Stateful requests can only be executed in an ordered manner in case they should belong together. You are using ARFC2, which is part of the WebDynpro runtime. In case you are sure that the calls are independent from each other, it might be a good idea to adjust the scope type of some of your bindings. Then the requests will be executed with different scopes depending on your configuration and you can execute them concurrently
    Best regards,
    Markus

  • [svn] 1605: Bug: BLZ-155 - Deadlock using a thread pool for tomcat connectors

    Revision: 1605
    Author: [email protected]
    Date: 2008-05-07 14:24:53 -0700 (Wed, 07 May 2008)
    Log Message:
    Bug: BLZ-155 - Deadlock using a thread pool for tomcat connectors
    QA: Yes - Jorge verified in the QE lab
    Doc: No
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-155
    Modified Paths:
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/client/EndpointPushNotifier.j ava

    Cross post: http://forum.java.sun.com/thread.jspa?threadID=5215686&tstart=0
    If you must post across forums, just post in the most relevant one and then give the link to that in the other posts.

  • System Error in Forte Application using DCE thread

    I am using Forte 3.n.1 and MQSeries 5.2 on operating System Solaris7. When i am running
    An application in Forte uses DCE threads to invoke the MQseries functionality. Now this application as a server partition is not able to start up giving system resource error. Any kernal setting has to be made?
    Is there any settings in Solaris to be done for DCE threads ?

    Hey Mike,
    Is your ADS configured properly.
    This error usually comes when some of the layout UI elements are not binded properly.
    Thanks and Regards,
    Antony John Isacc

  • Using this thread thingy

    Soo.. I'm doing a project work in school and I'm implementing this MP mobilegame wich uses a BlueTooth connection. So I understand I have to use different threads for the conection part (no?), but since I'm kinda new to this thread thing I don't realy know when to use them. My first thought were to start a new thread every time I would start some task wich would take some time, i.e. e.g. waiting for some remote device to answer some request. My intention were to implement this using an annonymous inner class like this:
    Vector vectorA = new Vector();
    vectorA.addElement(new Thread() {
         public void run() {
              try{
                   conection.openConection(); // or whatever
              catch (Exception e) {
                   //ignore
    So is this good design? Will it work? I mean is it a good idea to open a new thread every time I'm starting an operation that may take time?

    in a gaming scenario you should have tasks that you don't want to have impacted by others in thier own thread.
    Suppose you have an animation... it moves an image across the screen at a certain rate... if you process input in the same thread, you may get jerky movement. If you process a connection in the same thread you connect to the network with, you may miss some data input.
    Model your processes that you need and decide if they need to be independent of each other--not slowed or halted by processing from the other processes. Now all of these should be in their own thread. When doing this, if you see everything is in it's own thread, you may want to re-evaluate your criteria for independence.

  • Modifying the stack class to use multiple threads

    Im trying to re write the stack class but with using 2 threads. One of the thread calls the pop method and the other calls the push method.
    I don't know where im going wrong...
    Any tips would be great thnx
    Haven't bothered putting in any try / catch clauses yet, will make it look pretty later :)
    http://nopaste.php-q.net/19555

    java.util.Stack is thread safe so all you need to do are create two threads
    one which pushes data onto the stack and one which pops it off.
    class PushThread implements Runnable {
       private Stack stack;
       public PushThread(Stack s) {
          this.stack = s;
       public void run() {
         while(true) { // loop for ever
            stack.push(new Object());
            for(int i=0;i<100000;i++); // waste some time.
    }The code above deliberatly does not use wait, sleep, notify etc as these
    would force an ordering onto the stack. The code instead goes into a
    loop that should waste time.
    your PopThread class will be identical but will call stack.pop() instead.
    matfud

Maybe you are looking for

  • Embedding HTML page as attachment

    I am sending a mail in html format. This HTML page contains some images and some links. Link in the html page refers to another html page. When clicked on this link, this referred html page should be opened in a browser window.(Html link cannot be we

  • [solved] manually wpa-wlan works, netcfg won't

    hi there, i'm new to arch linux, and actually trying to connect to my wpa-wlan with netcfg... when i boot my system, wlan works fine with: sudo iwconfig wlan0 essid "my connection" sudo wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf su

  • Authorizations: Dynamic roles

    Hello everybody, We are going to migrate our authorizations from 3.x concept to BI-7. With the new concept we are compelled to respect certain requirements like to include into the single user profile every InfoObject “AuthorizationRelevant” (that ar

  • Db_stat forcing recovery of environment

    We are using the BDB C APIs and have configured the environment for auto-removal of logfiles using the DB_LOG_AUTO_REMOVE flag. Additionally we also partition our databases  by creating new database files at volume intervals. So essentially we have a

  • Easy website address on iweb?

    How can I give my website a streamlined address instead of the long, convoluted one that shows up on the browser when I get to my site? The long one is too complex to use on a business card or to share with others.