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:

[code]

(3)

private void 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() {

public void run()

{

process(messageelem);

}

});

}

}

[code]

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

[3632 byte] By [bhuru_luthriaa] at [2007-11-27 8:25:36]
# 1
dup posting
gymma at 2007-7-12 20:14:40 > top of Java-index,Java Essentials,Java Programming...