Specifying a Thread's Name when using Task.StartNew

mixing thread classes
unc thread chart
screw thread design
metric thread
uns thread
types of screw thread
metric thread class of fit
metric thread callout

Is there a way to specify a Thread's name when using the Task.StartNew method

var task = Task.Factory.StartNew(MyAction, TaskCreationOption.LongRunning, ??ThreadName??);

Not a Thread-name for sure.

Threads and tasks are not 1-to-1 related.

You can use the Task.Id to track it.

Specifying Threads, The standard method for designating a screw thread is by specifying, in sequence, the nominal size, number of threads per inch, thread series symbol, and� Step 3: Correctly specify the required thread on the drawing/product documentation. 'Special' unified threads are not specified using the normal UN, UNC, UNF etc. which refer to classes of standard sizes. Instead 'special' unified threads using the standard tolerances but custom diameters and/or thread pitches are designated UNS.

Well, this works:

class Program {
    static void Main(string[] args) {
        var task = Task.Factory.StartNew(() => {
            Thread.CurrentThread.Name = "foo";
            Thread.Sleep(10000);   // Use Debug + Break to see it
        });
        task.Wait();
    }
}

There's a problem however, the threadpool thread gets recycled and won't change its name. This can be confusing, you'll see it running later executing entirely different code. Be sure to take note of this. Your best bet is otherwise to use the Location column in the Debug + Windows + Threads window to find the task back.

[PDF] Engineering Design Representation, is omitted, it specifies coarse pitch threads. For example, M10 or M10-6g, by default, specifies M10 x 1.5. The standard metric fastener thread series for general� In these applications, the G is specified to indicate, that when the thread is coated, the thread tolerance and size may not be exceeded by such coating. Classes 3A and 3B: These classes are specified for high quality commercial, precision applications and products, such as machine screws, where a close or snug fit is required.

I prefer to use Thread.CurrentThread.ManagedThreadId. It's not as good as a name, but does help track the specific work for a thread.

[PDF] Screw Thread Design, decades ago, it was necessary to specify UNR (rounded root) threads. Today, all fasteners that are roll threaded should have a UNR thread because thread� It will follow an “x” after the diameter number. Specifying the pitch is important for distinguishing between coarse and fine screws. Coarse screws have a larger pitch than similarly-sized fine screws. A M12 x 1.75 x 85 screw, for instance, has threads every 1.75 mm (0.069 in). The second number, 1.75, indicates the pitch.

Tasks use the threadpool and a thread can be named only once. What you can do is use a ThreadStatic variable. It will however live between tasks, so set it in every task again.

[PDF] Thread Standards and Definitions, Two major Unified thread series are in use: UN and UNR. For the UN series, you specify C. (coarse), F (fine), or EF (extra fine), as required. For the UNR series,� A screw thread is defined as a ridge of uniform section in the form of a helix on either the external or internal surface of a cylinder. Internal threads refer to those on nuts and tapped holes, while external threads are those on bolts, studs, or screws.

You could write your own TaskScheduler which sets Thread.CurrentThread.Name when it puts a task on a thread. After the task is done your custom TaskScheduler can also clear Thread.CurrentThread.Name to avoid any confusion.

Internal and External Thread Classes Designations Review , Thread classes are specified to designate the amount of tolerance allowance and installation fit desired. Thread classes are derived from formulas which the� A thread is a thread of execution in a program. The Java Virtual Machine allows an application to have multiple threads of execution running concurrently. Every thread has a priority. Threads with higher priority are executed in preference to threads with lower priority. Each thread may or may not also be marked as a daemon. When code running in some thread creates a new Thread object, the

Screw thread, There are three characteristic diameters (⌀) of threads: major diameter, minor diameter, and pitch diameter: Industry standards specify minimum (min.)� This depends on the size and pitch of the thread and the material threaded. External threads can usually be produced within 1-1/2 threads from a shoulder and internal threads tapped to within 2-1/2 threads from a hole bottom. The number varies with the pitch of the thread and by the machinability of the material.

How Fastener Measurements are Notated, The grade specifies an exact set of mechanical properties. Examples Metric fasteners instead specify a thread pitch which is the distance between the threads. Is there a way to specify a Thread's name when using the Task.StartNew method. var task = Task.Factory.StartNew(MyAction, TaskCreationOption.LongRunning, ??ThreadName??);

How Do I Specify Unified Thread Form Custom Threads?, Step 3: Correctly specify the required thread on the drawing/product documentation. 'Special' unified threads are not specified using the normal� Killing a thread abruptly might leave a critical resource that must be closed properly, open. But you might want to kill a thread once some specific time period has passed or some interrupt has been generated. There are the various methods by which you can kill a thread in python. Raising exceptions in a python thread; Set/Reset stop flag

Comments
  • For what purpose do you even want to name your thread?
  • Actual Threads do (can) have names. But Tasks don't.
  • @Ron debugging!!
  • I have a long running task which means a new thread is created and I wanted to name it
  • No guarantees, just a Hint that could even be ignored. See msdn.microsoft.com/en-us/library/…
  • No but I need it definately on another thread and thought I'd read if I specify LongRunning it will do that
  • The default scheduler does actually create a thread with the LongRunning option (in the current, could change in the future, implementation). However, as Henk says a few comments above, no guarantees.
  • And that is what I have found but is the general consensus to go back to manually creating a thread and managing it myself?
  • That is not possible actually - once the Name-Property of a Thread has been set it cannot be modified anymore.