Solved

thread ID setting

Posted on 2014-02-07
6
495 Views
Last Modified: 2014-02-13
Hi,

I am working on below example
http://www.avajava.com/tutorials/lessons/how-do-i-identify-a-thread.html

I have not seen author setting thread ID anywhere. Where it is getting set.


i see output as below

RunnableJob is being run by thread1 (9)
RunnableJob is being run by Thread-1 (11)
Main thread: main(1)
RunnableJob is being run by thread2 (10)

which line is printing below output
RunnableJob is being run by Thread-1 (11)
please advise
Any links resources ideas highly appreciated. Thanks in advance
0
Comment
Question by:gudii9
  • 3
  • 2
6 Comments
 
LVL 14

Accepted Solution

by:
CPColin earned 250 total points
ID: 39843344
It's thread3, with the default thread name. The Javadocs for the Thread class mention that:

If a name is not specified when a thread is created, a new name is generated for it.

The end of the tutorial you linked mentions that "Thread-1" is the default name, too.
0
 
LVL 27

Assisted Solution

by:dpearson
dpearson earned 250 total points
ID: 39843723
Specifically it's being set here in the constructor for Thread:

    /**
     * Allocates a new {@code Thread} object. This constructor has the same
     * effect as {@linkplain #Thread(ThreadGroup,Runnable,String) Thread}
     * {@code (null, null, gname)}, where {@code gname} is a newly generated
     * name. Automatically generated names are of the form
     * {@code "Thread-"+}<i>n</i>, where <i>n</i> is an integer.
     */
    public Thread() {
        init(null, null, "Thread-" + nextThreadNum(), 0);
    }
0
 
LVL 7

Author Comment

by:gudii9
ID: 39851100
It's thread3, with the default thread name


which is Default thread?
I see main thread and thread1 and thread2 in the code. Where from default thread is coming in this example.

Specifically it's being set here in the constructor for Thread:


How to check which specific constructor it is setting from
Please advise
0
Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

 
LVL 14

Expert Comment

by:CPColin
ID: 39851107
which is Default thread?

When I said "default thread name," I meant "the name that is assigned to threads, by default." There is no such thing as a "default thread."
0
 
LVL 7

Author Comment

by:gudii9
ID: 39851151
Default thread is below thread in the code right?
Thread thread3 = new Thread(runnableJob);
            thread3.start();


Please advise
0
 
LVL 14

Expert Comment

by:CPColin
ID: 39851154
There is no such thing as a "default thread."

In that code, that thread is being assigned a default name, because you didn't specify one. That's what dpearson and I were talking about on Friday.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
java stored proc example 9 45
spring jars download 1 35
collection output issue 9 37
Delphi Firemonkey: if the Sms contain special characters it won't send it 3 44
I had a project requirement for a displaying a user workbench .This workbench would consist multiple data grids .In each grid the user will be able to see a large number of data. These data grids should allow the user to 1. Sort 2. Export the …
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question