Как назвать поток в Linux? [дубликат]

Вы можете использовать наборы:

x_dx = {(x, sum(alecproduct.find_factors(x)) - x) for x in range(10 ** 4)}
x_dx = {t for t in x_dx if t[0] != t[1]}
dx_x = {(t[1], t[0]) for t in x_dx}

amicable_pairs = x_dx & dx_x

Как и в ответе 6502, все дружные пары извлекаются дважды. Способ удалить эти «дубликаты» может быть (хотя это, безусловно, полный рот):

amicable_pairs_sorted = {tuple(sorted(t)) for t in amicable_pairs}
amicable_pairs_ascending = sorted(list(amicable_pairs_sorted))
39
задан Community 23 May 2017 в 10:29
поделиться

2 ответа

Нити Posix?

Это, очевидно, не скомпилируется, но даст вам представление о том, куда отправиться на охоту. Я' Я даже не уверен, что это правильная команда PR_ , но я думаю, что это так. Это было какое-то время ...

  #include <sys/prctl.h>
  prctl(PR_SET_NAME,"<null> terminated string",0,0,0)
43
ответ дан 27 November 2019 в 02:44
поделиться

Если вы используете библиотеку, подобную ACE , поток может указать имя потока при создании нового потока.

BSD Unix также имеет вызов pthread_set_name_np .

В противном случае вы можете использовать prctl , как упомянуто Fusspawn.

14
ответ дан 27 November 2019 в 02:44
поделиться