Я работаю над проектом файловой системы на основе FUSE.И я хочу добавить к этому какое-то прочтение.Поэтому я создаю поток для обработки таких задач, но кажется, что я сделал это действительно медленнее, чем я думал. (Даже если я просто добавляю свободный поток, это делает мою программу намного медленнее, чем без нее, но этого не произошлокогда я добавил эту функцию в свою серверную программу, которая не использует fuse)
Я просто не использовал функцию fuse_main, вместо этого я прочитал код sshfs и попытался инициализировать его самостоятельно следующими функциями:
fuse_parse_cmdline
fuse_mount
fcntl
fuse_new
fuse_daemonize
fuse_set_signal_handlers
fuse_loop_mt
и без добавления потока, он работает довольно хорошо, но после того, как я добавлю этот поток в
pthread_create(&tid, NULL, test, NULL); // function test is just a while(1){}
, он станет медленнее (Чтение файла 100M, без этого потока это 40 с,и с этим это почти 100s)
Это что-то делать с schedparam или что-то еще?Надеюсь, вы, ребята, могли бы дать мне несколько советов, например, что мне нужно проверить.
Еще раз спасибо.