> For the complete documentation index, see [llms.txt](https://dimitar-minchev.gitbook.io/linux-system-programming/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dimitar-minchev.gitbook.io/linux-system-programming/08_threads/04_creating_threads.md).

# Създаване на нишки

Първоначално вашата програма **main()** се състои от една нишка по подразбиране. Всички други нишки трябва да бъдат изрично създадени от програмиста. pthread\_create създава нова нишка и я прави изпълнима. Този метод може да бъде извикан произволен брой пъти от всяко място във вашия код.

**pthread\_create** аргументи:

* **thread**: уникален идентификатор за новата нишка, върната от подпрограмата.
* **attr**: атрибутен обект, който може да се използва за задаване на атрибути на нишка. Можете да посочите обект с атрибути на нишка или NULL за стойностите по подразбиране.
* **start\_routine**: процедура, която нишката ще изпълни, след като бъде създадена.
* **arg**: единичен аргумент, който може да бъде предаден на start\_routine. Той трябва да се предава чрез препратка като указател на тип void. NULL може да се използва, ако не трябва да се предава аргумент.
