Threading Query.

I have a query regarding Threading.

I have a method which is as follows

(1)

privatevoid update(Message message){

XMLMessage xmlmessage = (XMLMessage)message;

StringBuffer rule =new StringBuffer();

Document messagedoc = xmlmessage.getDocument(rule);

if (messagedoc!=null)

{

final Element messageelem = messagedoc.getDocumentElement();

if (messageelem!=null)

{

m_executor.execute(new Runnable(){

publicvoid run()

{

process(messageelem);

}

});

}

}

Query No 1:

From the above code,process() will run in its own thread. Right ?

Now I have modified the above code to include some further checks.

(2)

privatevoid update(Message message){

XMLMessage xmlmessage = (XMLMessage)message;

StringBuffer rule =new StringBuffer();

Document messagedoc = xmlmessage.getDocument(rule);

//*** Added by me.

String sFillQuantityPriceEntered = extractValue("xxx");

String sName = = extractValue("abn");

if (messagedoc!=null)

{

final Element messageelem = messagedoc.getDocumentElement();

if (messageelem!=null)

{

m_executor.execute(new Runnable(){

publicvoid run()

{

process(messageelem);

}

});

}

}

privatevoid extractValue(String name){

}

As I have invoked the extractValue("abn") how do I ensure that these run in a single thread.

Do I need to say:

(3)

privatevoid update(Message message){

XMLMessage xmlmessage = (XMLMessage)message;

StringBuffer rule =new StringBuffer();

Document messagedoc = xmlmessage.getDocument(rule);

synchronised(this){

String sFillQuantityPriceEntered = extractValue("xxx");

String sName = = extractValue("abn");

}

if (messagedoc!=null)

{

final Element messageelem = messagedoc.getDocumentElement();

if (messageelem!=null)

{

m_executor.execute(new Runnable(){

publicvoid run()

{

process(messageelem);

}

});

}

}

or if the leave the code in (2), as it is.

[4346 byte] By [bhuru_luthriaa] at [2007-11-27 8:25:37]
# 1
post your question on the concurrency forum: http://forum.java.sun.com/forum.jspa?forumID=534
gymma at 2007-7-12 20:14:41 > top of Java-index,Java Essentials,Java Programming...