Little bit of thread and little bit of instant messenger design problem

OK! i have a small problem here, i am planning on making a instant messenger server and client, not compatible with any out there(as of yet) and not using any stansard protocols out there, just something i made on my own. ok now the problem i am trying to figure out is....i have a "Messaging Server" as the name suggests it sends messages from one client to the other, how it is setup is, client connects to this server, the server accepts and creates a new thread for this client and adds a message listener to this client handler thread. as and when the server creates this thread for the client, it puts it in a vector which is keeping track of every client connected to this server. so now when the client sends a message to another client, basically it goes through this server, the thread upon receiving this message, fires a method of the listener. this method takes the message, finds out who it is going to(therefore the userid) and seaches the threads vector to find the appropriate thread and then just creats another striped down message out of the received message and calls a method in that thread to send this newly created message and hence the message should be sent.(i am speculating, i still have not created this)
so the problem ia m logically facing is...at what point of time who is taking the load, what i mean by that is, when the thread receives the message, ofcourse it is this thread which is working is taking the load, but when the listener fucntion is fired which thread is handlign the call is it the client handler thread which fired the method or the messaging server thread which creates these threads?? now once that is solved, who(which thread) is doing the work when i call the fucntion in the other thread which i found aftre searching the vector. i mean i am thinking like this cuz i am not much in sink with the way threads work. i am also trying to figure out this to find out the load the server or the threads will be having.
algo example:
class messageServer
     vector currentWorkingThreads;
     messageListener listener;
     main()
          listener = new messageListener(); //should it be here or the other place i am mentioning below
          while(true)
               clientHandler = socket.accept();
               listener = new messageListener(); //should it be here or the other place i am mentioning above
               //create a thread and add this thread object to the vector
               thread.addLisenter(listener);
class messageServerThread
     string userid;
     messageListener lis;
     run()
          object obj = in.readObject();
          lis.sendMessage(obj);
     sendMessage(obj)
          out.writeObject(obj);
          out.flush;
class messageListener
     sendMessage(msSendMessage msg)
          //find the appropriate user thread
          loop(currentWorkingThread.next())
               messageServerThread msgThread = (messageServerThread)currentWorkingThread.element();
               if(msg.userid == msgThread.userid)
                    msReceiveMessage rcvMsg = msg.strip(); //dosent matter what this does, it just strips the unwanted info and returns the type msReceiveMessage
                    msgThread.sendMessage(rcvMsg);
and if this is something out of the line, or not a good way of doing it, can someone help me with the design it would be gr8.
thanx a lot
-Ankur
help would be greatly appreciated.
[email protected]

other, how it is setup is, client connects to this
server, the server accepts and creates a new thread
for this client and adds a message listener to this
client handler thread. as and when the server creates
this thread for the client, it puts it in a vector
which is keeping track of every client connected to
this server.ok so far.
so now when the client sends a message to
another client, basically it goes through this server,
the thread upon receiving this message, fires a method
of the listener. this method takes the message, finds
out who it is going to(therefore the userid) and
seaches the threads vector to find the appropriate
thread and then just creats another striped down
message out of the received message and calls a method
in that thread to send this newly created message andhere you seem to confuse the thread instance and the thread of execution. the thread invoking this method is still the event handling thread (i.e. the receiver thread of the socket). you do not need threads for delivering - this can be done by the receiving sockets' event handling threads. disadvantage: if processing of the message takes significant time then the socket is blocked and cannot process another message.
solution: put the message in an event queue which is processed by one or more threads. (see my example i e-mailed you)
robert
hence the message should be sent.(i am speculating, i
still have not created this)
so the problem ia m logically facing is...at what
point of time who is taking the load, what i mean by
that is, when the thread receives the message,
ofcourse it is this thread which is working is taking
the load, but when the listener fucntion is fired
which thread is handlign the call is it the client
handler thread which fired the method or the messaging
server thread which creates these threads?? now once
that is solved, who(which thread) is doing the work
when i call the fucntion in the other thread which i
found aftre searching the vector. i mean i am thinking
like this cuz i am not much in sink with the way
threads work. i am also trying to figure out this to
find out the load the server or the threads will be
having.
algo example:
class messageServer
vector currentWorkingThreads;
messageListener listener;
main()
listener = new messageListener(); //should it be
e here or the other place i am mentioning below
while(true)
clientHandler = socket.accept();
listener = new messageListener(); //should it be
be here or the other place i am mentioning above
//create a thread and add this thread object to the
he vector
thread.addLisenter(listener);
class messageServerThread
string userid;
messageListener lis;
run()
object obj = in.readObject();
lis.sendMessage(obj);
sendMessage(obj)
out.writeObject(obj);
out.flush;
class messageListener
sendMessage(msSendMessage msg)
//find the appropriate user thread
loop(currentWorkingThread.next())
messageServerThread msgThread =
=
(messageServerThread)currentWorkingThread.element();
if(msg.userid == msgThread.userid)
msReceiveMessage rcvMsg = msg.strip(); //dosent
ent matter what this does, it just strips the unwanted
info and returns the type msReceiveMessage
msgThread.sendMessage(rcvMsg);
and if this is something out of the line, or not a
good way of doing it, can someone help me with the
design it would be gr8.
thanx a lot
-Ankur
help would be greatly appreciated.
[email protected]

Similar Messages

  • Acrobat Pro XI and 64 bit Win 8.1 installation problem

    When I try to install Acrobat Pro XI on my 64 bit Win 8.1 system it's not able to find some files.
    For example:  Xtras\AdobePDF\Amd64Vista
    If I skip that file, and the others, it says "Installation Failed". If I try to run it I get error 16.
    Any suggestions?
    Thanks,
    Dean

    I would run http://labs.adobe.com/downloads/acrobatcleaner.html and delete any Acrobat folders that have been created, then try again. Be sure to log in as the administrator and disable anti-virus when you have problems like this.

  • Hello, I have a little problem with my ipod (3rd generation): I restored my iPod because of problems of wi-fi, then synced my music on itunes and then on my ipod. The problem is that I still do not have wi-fi and my ipod says I have no music. Help me!

    Hello, I have a little problem with my ipod (3rd generation): I restored my iPod because of problems of wi-fi, then synced my music on itunes and then on my ipod. The problem is that I still do not have wi-fi and my ipod says I have no music. Help me!

    No. In fact, my ipod detects the livebox and the network but I can not connect to the internet.

  • A problem with Threads and MMapi

    I am tring to execute a class based on Game canvas.
    The problem begin when I try to Play both a MIDI tone and to run an infinit Thread loop.
    The MIDI tone "Stammers".
    How to over come the problem?
    Thanks in advance
    Kobi
    See Code example below:
    import java.io.IOException;
    import java.io.InputStream;
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.lcdui.Image;
    import javax.microedition.lcdui.game.GameCanvas;
    import javax.microedition.media.Manager;
    import javax.microedition.media.MediaException;
    import javax.microedition.media.Player;
    public class MainScreenCanvas extends GameCanvas implements Runnable {
         private MainMIDlet parent;
         private boolean mTrucking = false;
         Image imgBackgound = null;
         int imgBackgoundX = 0, imgBackgoundY = 0;
         Player player;
         public MainScreenCanvas(MainMIDlet parent)
              super(true);
              this.parent = parent;
              try
                   imgBackgound = Image.createImage("/images/area03_bkg0.png");
                   imgBackgoundX = this.getWidth() - imgBackgound.getWidth();
                   imgBackgoundY = this.getHeight() - imgBackgound.getHeight();
              catch(Exception e)
                   System.out.println(e.getMessage());
          * starts thread
         public void start()
              mTrucking = true;
              Thread t = new Thread(this);
              t.start();
          * stops thread
         public void stop()
              mTrucking = false;
         public void play()
              try
                   InputStream is = getClass().getResourceAsStream("/sounds/scale.mid");
                   player = Manager.createPlayer(is, "audio/midi");
                   player.setLoopCount(-1);
                   player.prefetch();
                   player.start();
              catch(Exception e)
                   System.out.println(e.getMessage());
         public void run()
              Graphics g = getGraphics();
              play();
              while (true)
                   tick();
                   input();
                   render(g);
          * responsible for object movements
         private void tick()
          * response to key input
         private void input()
              int keyStates = getKeyStates();
              if ((keyStates & LEFT_PRESSED) != 0)
                   imgBackgoundX++;
                   if (imgBackgoundX > 0)
                        imgBackgoundX = 0;
              if ((keyStates & RIGHT_PRESSED) != 0)
                   imgBackgoundX--;
                   if (imgBackgoundX < this.getWidth() - imgBackgound.getWidth())
                        imgBackgoundX = this.getWidth() - imgBackgound.getWidth();
          * Responsible for the drawing
          * @param g
         private void render(Graphics g)
              g.drawImage(imgBackgound, imgBackgoundX, imgBackgoundY, Graphics.TOP | Graphics.LEFT);
              this.flushGraphics();
    }

    You can also try to provide a greater Priority to your player thread so that it gains the CPU time when ever it needs it and don't harm the playback.
    However a loop in a Thread and that to an infinite loop is one kind of very bad programming, 'cuz the loop eats up most of your CPU time which in turn adds up more delays of the execution of other tasks (just as in your case it is the playback). By witting codes bit efficiently and planning out the architectural execution flow of the app before start writing the code helps solve these kind of issues.
    You can go through [this simple tutorial|http://oreilly.com/catalog/expjava/excerpt/index.html] about Basics of Java and Threads to know more about threads.
    Regds,
    SD
    N.B. And yes there are more articles and tutorials available but much of them targets the Java SE / EE, but if you want to read them here is [another great one straight from SUN|http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html] .
    Edited by: find_suvro@SDN on 7 Nov, 2008 12:00 PM

  • Problem with threads and ProgressMonitor

    Dear Friends:
    I have a little problem with a thread and a ProgressMonitor. I have a long time process that runs in a thread (the thread is in an separate class). The thread has a ProgressMonitor that works fine and shows the tasks progress.
    But I need deactivate the main class(the main class is the user interface) until the thread ends.
    I use something like this:
    LongTask myTask=new LongTask();
    myTask.start();
    myTask.join();
    Now, the main class waits for the task to end, but the progress monitor don`t works fine: it shows only the dialog but not the progress bar.
    What's wrong?

    Is the dialog a modal dialog? This can block other UI updates.
    In general, you should make sure that it isn't modal, and that your workThread has a fairly low priority so that the UI can do its updating

  • Having a problem with threads and using locks

    I was hoping someone could give me some hits on getting my code to run properly. The problem I am having is I think my locks and unlocks are not working properly. Plus, for some reason I always get the same output, which is:
    Withdrawal Threads         Deposit Threads            Balance
    Thread 2 attempts $29 Withdrawal - Blocked - Insufficient Funds
    Thread 4 attempts $45 Withdrawal - Blocked - Insufficient Funds
    Thread 6 attempts $34 Withdrawal - Blocked - Insufficient Funds
    Thread 7 attempts $40 Withdrawal - Blocked - Insufficient Funds
                                    Thread 1 deposits $187          $187
                                    Thread 3 deposits $169          $356
                                    Thread 5 deposits $61           $417
    Press any key to continue...If someone can see the error I made and doesn't mind explaining it to me, so I can learn from it, I would appreciate that very much.
    /************Assign2_Main.java************/
    import java.util.concurrent.*;
    public class Assign2_Main
    {//start Assign2_Main
        public static void main(String[] args)
        {//start main
               // create ExecutorService to manage threads
               ExecutorService threadExecutor = Executors.newCachedThreadPool();
            Account account = new SynchronizedThreads();
            Deposit deposit1 = new Deposit(account, "Thread 1");
            Deposit deposit2 = new Deposit(account, "Thread 3");
            Deposit deposit3 = new Deposit(account, "Thread 5");
            Withdrawal withdrawal1 = new Withdrawal(account, "Thread 2");
            Withdrawal withdrawal2 = new Withdrawal(account, "Thread 4");
            Withdrawal withdrawal3 = new Withdrawal(account, "Thread 6");
            Withdrawal withdrawal4 = new Withdrawal(account, "Thread 7");
            System.out.println("Withdrawal Threads\t\tDeposit Threads\t\t\tBalance");
            System.out.println("------------------\t\t---------------\t\t\t-------\n");
            try
                threadExecutor.execute(withdrawal1);       
                threadExecutor.execute(deposit1);     
                threadExecutor.execute(withdrawal2);  
                threadExecutor.execute(deposit2);    
                threadExecutor.execute(withdrawal3);
                threadExecutor.execute(deposit3);       
                threadExecutor.execute(withdrawal4);
            catch ( Exception e )
                 e.printStackTrace();
                //shutdown worker threads
               threadExecutor.shutdown();
        }//end main
    }//end Assign2_Main/******************Withdrawal.java****************************/
    public class Withdrawal implements Runnable
    {//start  class Withdrawal
          *constructor
        public Withdrawal(Account money, String n)
             account = money;
             name = n;
        public void run()
        {//start ruin
             int newNum = 0;
                newNum = account.getBalance(name); 
               Thread.yield();
        }//end run
        private Account account;
        private String name;
    }//end  class Withdrawal/*******************Deposit.java***************/
    import java.util.Random;
    public class Deposit implements Runnable
    {//start class Deposit
          *constructor
        public Deposit(Account money, String n)
             account = money;
             name = n;
        public void run()
        {//start run
                try
                     Thread.sleep(100);
                   account.setBalance(random.nextInt(200), name);
                }// end try
                catch (InterruptedException e)
                  e.printStackTrace();
       }//end run
       private Account account;
       private Random random = new Random();
       private String name;
    }//end class Deposit/********************Account.java*****************/
    *Account interface specifies methods called by Producer and Consumer.
    public interface Account
         //place sum into Account
         public void setBalance(int sum, String name);
         //return  value of Account
            public int getBalance(String name);         
    } /**************SynchronizedThreads.java****************/
    import java.util.concurrent.locks.*;
    import java.util.Random;
    public class SynchronizedThreads implements Account
    {//start SynchronizedThreads
          *place money into buffer
        public void setBalance(int amount, String name)
        {//start setBalance
             // lock object
             myLock.lock();           
            sum += amount;
            System.out.println("\t\t\t\t" + name + " deposits $" + amount +"\t\t$"+ sum+"\n");       
               //threads are singnaled to wakeup
            MakeWD.signalAll();
              // unlock object                                                
            myLock.unlock();
           }//end setBalance
            *gets the balance from buffer
           public int getBalance(String name)
        {//start getBalance
             int NewSum = random.nextInt(50);
             //lock object
            myLock.lock();
            try
                 if(sum > NewSum)
                     //takes NewSum away from the account
                     sum -= NewSum;
                        System.out.println(name + " withdraws $" + NewSum +"\t\t\t\t\t\t$"+ sum+"\n");
                else
                     System.out.println(name +  " attempts $" + NewSum + " Withdrawal - Blocked - Insufficient Funds\n");                 
                     //not enough funds so thread waits
                        MakeWD.await();         
                //threads are singnaled to wakeup
                MakeD.signalAll();     
                }//end try
            catch (InterruptedException e)
                   e.printStackTrace();
            finally
                 //unlock object
                 myLock.unlock();
            return NewSum;     
         }//end getBalance
         private Random random = new Random();  
         private Lock myLock = new ReentrantLock();
         private Condition MakeD = myLock.newCondition();
         private Condition MakeWD = myLock.newCondition();
         private int sum = 0;
    }//end SynchronizedThreads

    You can also try to provide a greater Priority to your player thread so that it gains the CPU time when ever it needs it and don't harm the playback.
    However a loop in a Thread and that to an infinite loop is one kind of very bad programming, 'cuz the loop eats up most of your CPU time which in turn adds up more delays of the execution of other tasks (just as in your case it is the playback). By witting codes bit efficiently and planning out the architectural execution flow of the app before start writing the code helps solve these kind of issues.
    You can go through [this simple tutorial|http://oreilly.com/catalog/expjava/excerpt/index.html] about Basics of Java and Threads to know more about threads.
    Regds,
    SD
    N.B. And yes there are more articles and tutorials available but much of them targets the Java SE / EE, but if you want to read them here is [another great one straight from SUN|http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html] .
    Edited by: find_suvro@SDN on 7 Nov, 2008 12:00 PM

  • Threads and lockups

    Hi everyone,
    I have a question about threads. I have a JDesktopPane in a Frame. I have added a number of JInternalFrame to the JDeskTopPane that is show/hide as required. This all works fine.
    One particular internal frame is a frame that allows the training of a neural network. This process can take a long time so I am associated the neural network class with it's own thread and then calling "start()" (which runs the training sequence over the example set).
    During the traning sequence events are fired and are picked up by NeuralNetwork listeners. This is so that the progress of the neural network training can be monitorred. For example, my internal frame has a progress bar that increments every time a training cycle is completed (a training sequence consists on many training cycles).
    The problem occurs when the training sequence finishes. Somehoe things go haywire and my machine grinds to a halt. Everything slows down to a crawl and it is very difficult to get the machine to respond to anything.
    I believe that it is something to do with the way that I have defined by events. I have an event class defined as follows;
    /* CODE START */
    public class NeuralNetworkEvent extends java.util.EventObject {
        private int cycle = 0;
        public int getCycle() { return this.cycle; }
        public NeuralNetworkEvent(Object source, int cycle) {
            super(source);
            this.cycle = cycle;
    /* CODE END */
    And a listener defined like this;
    /* CODE START */
    public interface NeuralNetworkListener extends java.util.EventListener {
        public void trainingCycleCompleted(NeuralNetworkEvent evt);
    /* CODE END */
    Events are fired to registered listeners from within the neural network class like this;
    /* CODE START */
        public void addNeuralNetworkListener(NeuralNetworkListener listener) { neuralNetworkListeners.add(listener); }
        public void fireNeuralNetworkEvent() {
            for (int count = 0; count < neuralNetworkListeners.size(); count++)
                ((NeuralNetworkListener)neuralNetworkListeners.get(count)).trainingCycleCompleted(new NeuralNetworkEvent(this, currentCycle));
    /* CODE END */
    And my internal frame (which is a NeuralNetworkListener) does this when a neural network event is fired;
    /* CODE START */
        pbNetwork.setValue(pbNetwork.getValue() + 1);
        if ( evt.getCycle() == TOTAL_CYCLES - 1 ) cmdPredict.setEnabled(true);
    /* CODE END */
    Interestingly, execution never gets to the point where the predict button would be enabled (and I have checked the "if" statement for validity - it should resolve to "true"). In any case, is it at the point where the progress bar reaches 100% that everything goes haywire.
    I hope that someone can help me this this - I am a little stuck with this.
    Thanks in advance for you help. :)
    Ben

    Hi,
    Swing classes are not thread-safe. So if you want to update some Swing object (like the ProgressBar) from other than the Event Thread, use SwingUtilities.invokeLater(Runnable) or SwingUtilities.invokeAndWait(Runnable). Note, that firing an event takes place in the same Thread. So you might need to synchronize them as well.

  • Differences between  hardware thread and software thread?

    Hi ,all!
    The Instructions of SPARC V9 have nothing about thread ID. And there are two bits of CCX packets indicating thread ID.
    Does it mean that CCX generates the thread ID of SPARC core?
    And, what are the differences between hardware thread and software thread?
    Thanks in advance!

    Hi ,all!
    The Instructions of SPARC V9 have nothing about
    thread ID. And there are two bits of CCX packets
    indicating thread ID.
    Does it mean that CCX generates the thread ID
    of SPARC core? Each SPARC core has one unique ID to identify itself when it receives packets, such as CCX packets, interupt packets and so on. Such ID is defined in the Hyperprivileged register. Maybe you can see UA2005-current-draft-HP-EXT.pdf for more information.
    And, what are the differences between hardware
    thread and software thread?
    Thanks in advance!Software thread runs on the hardware thread (or strand).

  • Suggestion - Like & Dis-like introduction in every thread and its replies

    Hello,
    There's a suggestion for introducing like & dis-like function to every thread and replies to the thread posted in different SAP Community Network Forums.
    Advantages;
    1. Indication to both, the thread generator & answering members of how other community members think about stuff posted in the forums.
    2. Tool for motivation and confidence building.
    3. Prevention of redundant replies.
    4. Also, further the counts of clicks can be converted/calculated in monitory terms such as points to generator or answerer for certain counts of likes on his posts.
    Reference;
    Similar function is already being used for posts & comments submitted in Facebook (Social networking site).
    Regards,
    Mohsin

    Mohsin,
    Nothing personal. When I say you, itu2019s not you you, itu2019s forum members rather (including myself). Actually, I pick up a sincere and constructive sense from your suggestion. But in my opinion your hope is dashed, unless miracle happens.
    I believe the top-down approach is not gonna work; it should be bottom-up. It all starts from the attitude of forum users, every little thing would add up. If you hang around in forums long enough you may know full well, weu2019re going nowhere. Itu2019s not a pleasure to say that but itu2019s a fact.
    Regards.
    Edited by: Passing By on Dec 19, 2011 2:32 AM

  • Pass messages between main thread and FX application thread

    I'm launching an FX Application thread from a Main thread using Application.launch [outlined here: {thread:id=2530636}]
    I'm trying to have the Aplication thread return information to the Main thread, but Application.launch returns void. Is there an easy way to communicate between the Main thread and the Application thread?
    So far I have googled and found:
    - MOM (Message Orientated Middleware)
    - Sockets
    Any thoughts/ideas/examples are appreciated - especially examples ;) - right now I am looking at using Sockets to show/hide the application and for passing data.
    What is the preferred method? Are there others which I have not found (gasp) via Google?
    Dave.
    Edited by: cr0ck3t on 30-Apr-2013 21:04
    Edited by: cr0ck3t on 30-Apr-2013 21:05

    Is there an easy way to get a reference to these objects from both the Main thread and the FX Application thread - called via Application.launch() from the Main thread? Or do I have to use Sockets or MOM?Not much to do with concurrent programming is what I would call easy. It seems easy - but it's not.
    You can kind of do what you are describing using Java concurrency constructs without using sockets or some Message Oriented Middleware (MOM) package.
    With the Java concurrency stuff you are really implementing your own form or lightweight MOM.
    If you have quite a complex application with lots of messages going back and forth then some kind of MOM package such as camel or ActiveMQ (http://camel.apache.org) is useful.
    You can find a sample of various thread interactions with JavaFX here:
    https://gist.github.com/jewelsea/5500981 "Simulation of dragons eating dwarves using multiple threads"
    Linked code is just demo-ware to try out different concurrency facilities and not necessarily a recommended strategy.
    If your curious, you could take a look at it and try to work out what it is, what it does and how it does it.
    The main pattern followed is that from a blocking queue:
    http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/BlockingQueue.html
    Note that once you call launch from the main thread, no subsequent statements in the main method will be run until the JavaFX application shuts down. So you can't really launch from the main thread and communicate with a JavaFX app from the main thread. Instead you need to spawn another thread (or set of threads) for communication with the JavaFX app.
    But really, in most cases, the best solution with concurrency is not to deal with it at all (or at least as little as possible). Write everything in JavaFX, use the JavaFX animation framework for timing related stuff and use the JavaFX concurrency utilities for times when you really need multiple thread interaction.
    http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm
    To get further help, you might be better off describing exactly (i.e. really specific) what you are trying to do in a new question, perhaps with a sample solution in an sscce http://sscce.org

  • Need help desperately. new computer, followed all advice in the previous threads and no flash player

    dear all...
    i just bought a new computer, just two days old...a sony vaio with windows 7 installed,McAfee installed and IE 32 bits and also firefox installed
    everything is working fine except i am unable to get adobe flashplayer to work neither on IE nor on firefox
    I downloaded flash, either once prompted or directly from adobe - manually, uninstalled everything, rebooted compu
    but every time after installation (or that is at least what the system says) the video still request me to install adobe flash player - i do not get it :-(
    I did check adds on, i did check other things mentioned in the threads and all seems to be fine
    I hope someone of you can help me...
    thanks

    Hi, Using IE, go to Tools, Manage addons and look under "Show"(very light text) for Shockwave Flash Object and make sure it is listed and Enabled.
    Then using FF, go to plugins and make sure Shockwave Flash is Enabled.
    If you computer is a 64bit Operating System, be sure to use the 32bit browser.
    Thanks,
    eidnolb

  • HP g049au downgraded to windows 7 32 bit showing atikmdag.sys display problem

    HP g049au downgraded to windows 7 32 bit showing atikmdag.sys display problem. 
    Downgraded according to HP support instructions found here- http://h30434.www3.hp.com/t5/Notebook-Operating-Systems-and-Software/hp-15-g049au-K5B45PA-driver-for...
    Crash dump analysis-
    On Mon 10/20/2014 5:20:39 PM GMT your computer crashed
    crash dump file: C:\Windows\Minidump\102014-17222-01.dmp
    uptime: 01:20:20
    This was probably caused by the following module: atikmdag.sys (atikmdag+0x1CEB1)
    Bugcheck code: 0xA0000001 (0x5, 0x0, 0x0, 0x0)
    Error: CUSTOM_ERROR
    file path: C:\Windows\system32\drivers\atikmdag.sys
    product: ATI Radeon Family
    company: Advanced Micro Devices, Inc.
    description: ATI Radeon Kernel Mode Driver
    A third party driver was identified as the probable root cause of this system error. It is suggested you look for an update for the following driver: atikmdag.sys (ATI Radeon Kernel Mode Driver, Advanced Micro Devices, Inc.).
    Google query: Advanced Micro Devices, Inc. CUSTOM_ERROR

    Hello @HPpowerUser,
    Welcome to the HP Forums, I hope you enjoy your experience! To help you get the most out of the HP Forums I would like to direct your attention to the HP Forums Guide First Time Here? Learn How to Post and More.
    I have read your post on how you have downgraded your system from Windows 8 (64-bit) to Windows 7 (32-bit), and that your system is displaying a atikmdag.sys. I would be happy to assist you in this matter!
    According to the available drivers and software for your computer, Windows 7 is only supported for the (64-bit) version of Operating System. To maintain a compatible set of drivers on your system, I recommend downgrading to a 64-bit version of Windows 7.
    I hope this helps!
    Best Regards
    MechPilot
    I work on behalf of HP
    Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
    Click the “Kudos, Thumbs Up" on the right to say “Thanks” for helping!

  • I just bought a white iphone 4s, i noticed that the glass doesnt align with the speaker its a little off, anyone else having this problem?

    I just bought a white iphone 4s, i noticed that the glass doesnt align with the speaker its a little off, anyone else having this problem?

    It should work fine with Version 1.2 and Itunes 7.0 or later.
    Check the battery charge--- Make sure it’s OK
    No need to keep running the battery down..?
    Do a manual Reset on IPOD--by selecting
    Menu and Center simultaneously, for about 6 seconds.
    You may have to do this several times.
    re-try IPOD
    Make sure your Windows software is up-to-date.
    Make sure your running the correct software version for your IPOD.
    If this doesn’t’ work---
    Do the 5 R’s as instructed in the Apples manual.
    Compaq PC 6370US / 1GB Ipod Nano & 80GB Video   Windows XP   Pent 2.53 GHZ 512MHZ MB RAM 120GB HD

  • Problem with threads and graphics

    I have a thread that chooses paths for a Travelling salesman problem, it then calls a TSPdraw class and passes it the path, which the class then draws. the problem is when i have two threads it creates two windows but only draws a path in one of them. any ideas where i`m going wrong

    Are you using swing components? Swing isn't threadsafe. If you have multiple threads that want to update your UI you need to use the SwingUtilities.invokeLater(...)or invokeAndWait(...). There is a page in the swing tutorial about this at: http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html

  • Java threads and WinLogon processes taking CPU!

    We are seeing a strange problem. We have a multi-threaded java application
    that is deployed on a Microsoft Windows 2000 server (SP4) with Citrix
    Metaframe XP (Feature release 2). When this application starts, we start to see
    multiple WINLOGON.EXE processes (20 plus) each taking up 1-2% of CPU -
    this raises the CPU usage on the server significantly, impacting performance.
    We have tested with JDK 1.3, 1.4, and 1.5 and see the same issues. If we
    run the java application in a single thread, we dont see the same issue.
    Has any one seen this problem before? Any suggestion on how this can be resolved?
    Thanks in advance!

    Thanks for your replies. This is a Citrix environment where there are 50 plus
    users logged in and there are 50 plus instances of Winlogon.exe always
    running. Most of the time the cpu usage of these processes is 0.
    We tried a multi-threaded program that lists files in a directory every few
    seconds. There are 40 plus servers in the farm that we are deploying this
    application on. We are seeing this problem on only some of the servers.
    If we run a single thread from main(), we dont see the issue. But if we spawn
    10 threads doing the scans periodically, we notice that as soon as all the threads
    start, the WinLogons appear to start to take up CPU. When we stop the java
    program, the WinLogon processes drop in CPU usage.
    Is it possible that Java and WinLogon share some dlls that could be triggering
    the WinLogon processes off?
    We have tried running the single thread and multi-threaded programs around
    same time and the correlation with the winlogons is clearly visible. If we add
    sleep() soon after we start a thread, the winlogons seem to kick in later.

Maybe you are looking for

  • How can i get pics from my 6225 to my pc???

    photo's NEED to get off my old CDMA nokia 6225 but i have no idea how? is there software and a cable perhaps??? desperately need help with this one...is there any way to infra red to my pc i can bluetooth pics with my new mobile but cant seem to find

  • BW-ABAP start routine code logic

    Hello friends, I am writing start rotine code between ODS and InfoCube.I need your help determining the right logic. Requirement is as follows. 1. Create one database table to store GL account ranges. 2. This table will have multiple ranges of GL acc

  • How to update my iPad IOS4.3.3 to IOS7?

    How can I update my IOS 4.3.3 to IOS7? Do I need to use ITunes? Please send me a link for advice how to do it?

  • PO Approval workflow change

    Hi, i`m new to EBS. Please tell me the steps for following changes in the PO Approval workflow 1.Any new PO that gets processed / approved in the system needs to auto run the PO Print program (to generate the PDF copy of the PO) with the email functi

  • Quality of black text printing with 7960

    My 7960 does not print black.  It has a blue tint to it.  Ink cartridge has been changed