есть в линуксе программы, реализующие многопоточность?
если ДА, то какие?
ПС это я мучаюсь в выборе между двумя и тремя ядрами. :rolleyes:
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Программирование → Многопоточные приложения
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
есть в линуксе программы, реализующие многопоточность?
если ДА, то какие?
ПС это я мучаюсь в выборе между двумя и тремя ядрами. :rolleyes:
gcc
а оно мне очень надо в повседневной жизни?
это ж вроде бы компилятор С?
ПС это я мучаюсь в выборе между двумя и тремя ядрами.
Пытаетесь 200 рублей сэкономить ? похвально
Есть. Список таких программ можно посмотреть, например, так
for i in /usr/bin/* ; do ldd $i 2>/dev/null | grep -q pthread && echo $i ; done
Если я ничего не напутала.
Termo, gcc: GNU Compiler Collection 
C, C++, Objective-C, Fortran, Java и Ada
Если интересно - почитайте здесь:
http://gcc.gnu.org/
P.S. Сам писал приложение с 4-мя потоками под Linux :rolleyes:
Пытаетесь 200 рублей сэкономить ? похвально
задеть пытаемся? ну-ну...
Есть. Список таких программ можно посмотреть, например, так
for i in /usr/bin/* ; do ldd $i 2>/dev/null | grep -q pthread && echo $i ; done
Если я ничего не напутала.
а можно это перевести в_общедоступный_сиснтаксис?
user@host:~$ команда1 <Enter>
user@host:~$ команда2 <Enter>
user@host:~$ команда3 <Enter>
ну, не программист я. и никогда им не буду....
ОДНАКО!!!!!!!!! oO oO oO
/usr/bin/a2p
/usr/bin/aconnect
/usr/bin/alsamixer
/usr/bin/amidi
/usr/bin/amixer
/usr/bin/animate
/usr/bin/aplay
/usr/bin/aplaymidi
/usr/bin/apt-ftparchive
/usr/bin/aptitude
/usr/bin/arecord
/usr/bin/arecordmidi
/usr/bin/aseqdump
/usr/bin/aseqnet
/usr/bin/audacious
/usr/bin/audtool
/usr/bin/avahi-browse
/usr/bin/avahi-browse-domains
/usr/bin/avahi-publish
/usr/bin/avahi-publish-address
/usr/bin/avahi-publish-service
/usr/bin/avahi-resolve
/usr/bin/avahi-resolve-address
/usr/bin/avahi-resolve-host-name
/usr/bin/avahi-set-host-name
/usr/bin/baobab
/usr/bin/bluetooth-analyzer
/usr/bin/bluetooth-applet
/usr/bin/bluetooth-browse
/usr/bin/bluetooth-properties
/usr/bin/bluetooth-sendto
/usr/bin/bluetooth-wizard
/usr/bin/bogofilter
/usr/bin/bogotune
/usr/bin/bogoutil
/usr/bin/brasero
/usr/bin/btcflash
/usr/bin/canberra-gtk-play
/usr/bin/cancel
/usr/bin/cdparanoia
/usr/bin/charmap
/usr/bin/chattr
/usr/bin/chmsee
/usr/bin/ck-launch-session
/usr/bin/ck-list-sessions
/usr/bin/cli
/usr/bin/compare
/usr/bin/composite
/usr/bin/conjure
/usr/bin/convert
/usr/bin/cpufreq-selector
/usr/bin/cupsprofile
/usr/bin/cupstestdsc
/usr/bin/cupstestppd
/usr/bin/cvt
/usr/bin/diff
/usr/bin/dig
/usr/bin/directomatic
/usr/bin/display
/usr/bin/dpkg
/usr/bin/dpkg-deb
/usr/bin/dvd-ram-control
/usr/bin/dvd+rw-booktype
/usr/bin/dvd+rw-format
/usr/bin/dvd+rw-mediainfo
/usr/bin/dwell-click-applet
/usr/bin/eog
/usr/bin/epiphany-browser
/usr/bin/epiphany-gecko
/usr/bin/esdcat
/usr/bin/esdctl
/usr/bin/esdfilt
/usr/bin/esdloop
/usr/bin/esdmon
/usr/bin/esdplay
/usr/bin/esdrec
/usr/bin/esdsample
/usr/bin/espeak
/usr/bin/espeak-synthesis-driver
/usr/bin/evince
/usr/bin/evince-thumbnailer
/usr/bin/evolution
/usr/bin/evolution-addressbook-export
/usr/bin/exchange-connector-setup-2.26
/usr/bin/faked-tcp
/usr/bin/fc-cache
/usr/bin/fc-cat
/usr/bin/fc-list
/usr/bin/fc-match
/usr/bin/festival-synthesis-driver
/usr/bin/file-roller
/usr/bin/filezilla
/usr/bin/find
/usr/bin/foomatic-rip
/usr/bin/gcalctool
/usr/bin/gconf-editor
/usr/bin/gconf-merge-tree
/usr/bin/gconftool
/usr/bin/gconftool-2
/usr/bin/gdb
/usr/bin/gdbtui
/usr/bin/gdmdynamic
/usr/bin/gdmflexiserver
/usr/bin/gdmphotosetup
/usr/bin/gdmXnest
/usr/bin/gdmXnestchooser
/usr/bin/gedit
/usr/bin/gfloppy
/usr/bin/ggz-config
/usr/bin/ggz-wrapper
/usr/bin/ghostscript
/usr/bin/gimp
/usr/bin/gimp-2.6
/usr/bin/gimp-console
/usr/bin/gimp-console-2.6
/usr/bin/gksu
/usr/bin/gksudo
/usr/bin/gksu-properties
/usr/bin/gnome-about-me
/usr/bin/gnome-appearance-properties
/usr/bin/gnome-at-properties
/usr/bin/gnome-audio-profiles-properties
/usr/bin/gnome-calculator
/usr/bin/gnome-character-map
/usr/bin/gnome-control-center
/usr/bin/gnome-default-applications-properties
/usr/bin/gnome-desktop-item-edit
/usr/bin/gnome-dictionary
/usr/bin/gnome-display-properties
/usr/bin/gnome-eject
/usr/bin/gnome-font-viewer
/usr/bin/gnome-help
/usr/bin/gnome-keybinding-properties
/usr/bin/gnome-keyboard-properties
/usr/bin/gnome-keyring
/usr/bin/gnome-keyring-daemon
/usr/bin/gnome-mount
/usr/bin/gnome-mouse-properties
/usr/bin/gnome-nettool
/usr/bin/gnome-network-properties
/usr/bin/gnome-open
/usr/bin/gnome-panel
/usr/bin/gnome-panel-screenshot
/usr/bin/gnome-pilot-make-password
/usr/bin/gnome-power-manager
/usr/bin/gnome-power-preferences
/usr/bin/gnome-power-statistics
/usr/bin/gnome-screensaver
/usr/bin/gnome-screensaver-preferences
/usr/bin/gnome-screenshot
/usr/bin/gnome-search-tool
/usr/bin/gnome-session
/usr/bin/gnome-session-properties
/usr/bin/gnome-session-save
/usr/bin/gnome-settings-daemon
/usr/bin/gnome-sound-properties
/usr/bin/gnome-sound-recorder
/usr/bin/gnome-system-log
/usr/bin/gnome-system-monitor
/usr/bin/gnome-terminal
/usr/bin/gnome-text-editor
/usr/bin/gnome-thumbnail-font
/usr/bin/gnome-typing-monitor
/usr/bin/gnome-umount
/usr/bin/gnomevfs-cat
/usr/bin/gnomevfs-copy
/usr/bin/gnomevfs-df
/usr/bin/gnomevfs-info
/usr/bin/gnomevfs-ls
/usr/bin/gnomevfs-mkdir
/usr/bin/gnomevfs-monitor
/usr/bin/gnomevfs-mv
/usr/bin/gnomevfs-rm
/usr/bin/gnome-video-thumbnailer
/usr/bin/gnome-volume-control
/usr/bin/gnome-window-properties
/usr/bin/gnome-www-browser
/usr/bin/gpicview
/usr/bin/gpilot-applet
/usr/bin/gpilotd
/usr/bin/gpilotd-control-applet
/usr/bin/gpilotd-session-wrapper
/usr/bin/gpilot-install-file
/usr/bin/growisofs
/usr/bin/gs
/usr/bin/gst-inspect-0.10
/usr/bin/gst-launch-0.10
/usr/bin/gstreamer-properties
/usr/bin/gst-typefind-0.10
/usr/bin/gst-xmlinspect-0.10
/usr/bin/gst-xmllaunch-0.10
/usr/bin/gtf
/usr/bin/gthumb
/usr/bin/gtk-query-immodules-2.0
/usr/bin/gtk-window-decorator
/usr/bin/gucharmap
/usr/bin/gvfs-cat
/usr/bin/gvfs-copy
/usr/bin/gvfs-info
/usr/bin/gvfs-ls
/usr/bin/gvfs-mkdir
/usr/bin/gvfs-monitor-dir
/usr/bin/gvfs-monitor-file
/usr/bin/gvfs-mount
/usr/bin/gvfs-move
/usr/bin/gvfs-open
/usr/bin/gvfs-rename
/usr/bin/gvfs-rm
/usr/bin/gvfs-save
/usr/bin/gvfs-trash
/usr/bin/gvfs-tree
/usr/bin/host
/usr/bin/hpijs
/usr/bin/hp-mkuri
/usr/bin/identify
/usr/bin/iecset
/usr/bin/import
/usr/bin/isomaster
/usr/bin/lftp
/usr/bin/lp
/usr/bin/lpoptions
/usr/bin/lppasswd
/usr/bin/lpq
/usr/bin/lpr
/usr/bin/lprm
/usr/bin/lpstat
/usr/bin/lsattr
/usr/bin/magnifier
/usr/bin/make
/usr/bin/metacity
/usr/bin/metacity-message
/usr/bin/metacity-theme-viewer
/usr/bin/metacity-window-demo
/usr/bin/mogrify
/usr/bin/mono
/usr/bin/montage
/usr/bin/mousetweaks
/usr/bin/nautilus
/usr/bin/nautilus-autorun-software
/usr/bin/nautilus-connect-server
/usr/bin/nautilus-file-management-properties
/usr/bin/nautilus-sendto
/usr/bin/net
/usr/bin/net.samba3
/usr/bin/nmblookup
/usr/bin/nmblookup.samba3
/usr/bin/notify-send
/usr/bin/nslookup
/usr/bin/nsupdate
/usr/bin/ntlm_auth
/usr/bin/nvidia-settings
/usr/bin/obex-data-server
/usr/bin/oil-bugreport
/usr/bin/oldfind
/usr/bin/pabrowse
/usr/bin/pacat
/usr/bin/pacmd
/usr/bin/pactl
/usr/bin/panel-test-applets
/usr/bin/paplay
/usr/bin/parec
/usr/bin/pasuspender
/usr/bin/pax11publish
/usr/bin/pdffonts
/usr/bin/pdfimages
/usr/bin/pdfinfo
/usr/bin/pdftoabw
/usr/bin/pdftohtml
/usr/bin/pdftoppm
/usr/bin/pdftops
/usr/bin/pdftotext
/usr/bin/perl
/usr/bin/perl5.10.0
/usr/bin/pidgin
/usr/bin/pointer-capture-applet
/usr/bin/polkit-action
/usr/bin/polkit-auth
/usr/bin/polkit-config-file-validate
/usr/bin/polkit-gnome-authorization
/usr/bin/polkit-policy-file-validate
/usr/bin/ppdc
/usr/bin/ppdhtml
/usr/bin/ppdi
/usr/bin/ppdmerge
/usr/bin/ppdpo
/usr/bin/pr
/usr/bin/pulseaudio
/usr/bin/python
/usr/bin/python2.6
/usr/bin/qdbus
/usr/bin/qtconfig
/usr/bin/qtconfig-qt4
/usr/bin/rcp
/usr/bin/rdesktop
/usr/bin/rhythmbox
/usr/bin/rlogin
/usr/bin/rpcclient
/usr/bin/rpl8
/usr/bin/rsh
/usr/bin/ruby
/usr/bin/ruby1.8
/usr/bin/scp
/usr/bin/seahorse
/usr/bin/seahorse-agent
/usr/bin/seahorse-daemon
/usr/bin/seahorse-preferences
/usr/bin/seahorse-tool
/usr/bin/services-admin
/usr/bin/sftp
/usr/bin/sgp_dd
/usr/bin/shares-admin
/usr/bin/shred
/usr/bin/shuf
/usr/bin/slogin
/usr/bin/smbcacls
/usr/bin/smbclient
/usr/bin/smbcquotas
/usr/bin/smbget
/usr/bin/smbpasswd
/usr/bin/smbspool
/usr/bin/smbtree
/usr/bin/sort
/usr/bin/speaker-test
/usr/bin/speechd-synthesis-driver
/usr/bin/ssh
/usr/bin/ssh-add
/usr/bin/ssh-agent
/usr/bin/ssh-askpass
/usr/bin/ssh-keygen
/usr/bin/ssh-keyscan
/usr/bin/ssh-vulnkey
/usr/bin/stream
/usr/bin/system-tools-backends
/usr/bin/tclsh
/usr/bin/tclsh8.4
/usr/bin/testparm
/usr/bin/testparm.samba3
/usr/bin/test-speech
/usr/bin/time-admin
/usr/bin/totem
/usr/bin/totem-audio-preview
/usr/bin/totem-gstreamer
/usr/bin/totem-gstreamer-audio-preview
/usr/bin/totem-gstreamer-video-indexer
/usr/bin/totem-gstreamer-video-thumbnailer
/usr/bin/totem-video-indexer
/usr/bin/totem-video-thumbnailer
/usr/bin/touch
/usr/bin/ubuntu-tweak-daemon
/usr/bin/update-notifier
/usr/bin/users-admin
/usr/bin/vino-passwd
/usr/bin/vino-preferences
/usr/bin/vlc
/usr/bin/w3m
/usr/bin/wbinfo
/usr/bin/wget
/usr/bin/wine
/usr/bin/wine-auto
/usr/bin/wine-pthread
/usr/bin/www-browser
/usr/bin/x11perf
/usr/bin/xbrlapi
/usr/bin/xchat
/usr/bin/xclock
/usr/bin/xdg-user-dirs-gtk-update
/usr/bin/xfd
/usr/bin/xlogo
/usr/bin/Xorg
/usr/bin/xpcshell-1.9
/usr/bin/xsane
/usr/bin/xscreensaver-gl-helper
/usr/bin/x-session-manager
/usr/bin/xterm
/usr/bin/xvidcap
/usr/bin/xvidcap-dbus-client
/usr/bin/x-window-manager
/usr/bin/x-www-browser
/usr/bin/yelp
/usr/bin/zenityесть в линуксе программы, реализующие многопоточность?
если ДА, то какие?
gcc+openmp?
threads/pthreads?
qt?
Termo, вас интересует как самому написать такое приложение, или какое-нить приложение, которое уже написано, и которое многопоточно?
Если второе... то я думаю, что таких полно.
Всякие конвертеры, компиляторы, архиваторы - очень много из них многопоточны. Так как такие операции надо распараллеливать.
Сам писал многопоточные приложения, компилируя через gcc, вроде удачно. 
Есть. Список таких программ можно посмотреть, например, так
for i in /usr/bin/* ; do ldd $i 2>/dev/null | grep -q pthread && echo $i ; done
Если я ничего не напутала.
перевожу: данный однострок выводит список приложений, которые используют библиотеку в названии которой есть pthread. Впрочем вы правы...
ОДНАКО!!!!!!!!!
а что тут удивительного? вы можете в любую программу внедрить многопоточность, только в этом часто нет никакого смысла. А часто - есть. Попробуйте выполнить
есть в линуксе программы, реализующие многопоточность?
если ДА, то какие?
ответ - ДА. все, для которых есть смысл. даже те, для которых смысла обычно нет (как ls). однако, старые программы могут не использовать многопотоность, кроме того, многопоточность - это вообще фишка CPU, потому если вы (или составитель дистрибутива) собрали программу для старого CPU, то она не будет использовать многопоточность.
Кроме того, посмотрите список процессов - даже если все ваши программы не используют многопоточность, она вам всё равно пригодится - само ядро распараллеливает процессы, потому берите многоядерный камень - в Linux'е в этом намного больше смысла чем в венде.
понятно, спасибо.
ПС а где кнопка "РЕШЕНО"?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Linux Forum → Программирование → Многопоточные приложения
Форум работает на PunBB, при поддержке Informer Technologies, Inc