LINUX.ORG.RU

многопоточность, работа с сетью в с++


0

0

подскажите библиотеку для организации многопоточностью под линуксом?
не хочется заморачиватся с каналами ипр.
допустим вот такой код на питоне:
import socket
import time
import thread
HOST = 'localhost'
PORT = 8080

def clconetct(conn,a,*args):
    while 1:
        data = conn.recv(1024)
        if not data: break
        conn.send(data)
    conn.close()

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)

while 1:
  conn, addr = s.accept()
  print 'connect from', addr
  thread.start_new_thread(clconetct,(conn,1))
хочется примерно такоеваже на с++.
anonymous

Ответ на: комментарий от romanSA

еше вопрос возник... на сколько быстрее будет работать программа на с++ / python на операциях типа чтения из файла, отдача в сокет ?

anonymous
()
Ответ на: комментарий от anonymous

зависит от.

Если куски большие и тредов не очень много - то пофиг, в общем-то, на чем писать. Если это что-то типа http-сервера (много коннектов, среднее время жизни мало, передается маленькими кусками) - то на C/C++ будет заметно быстрее, при правильной архитектуре.

Плюс на C++ проще попользоваться всякими извращениями типа sendfile - но судя по орфографии и вопросам, вам надо начинать с простого...

anonymous
()

man select, man poll, man epoll, google fsm

Ex ★★
()

Лучше сделай сначала на питоне и посмотри - вдруг тебе хватит той скорости, которую дает тебе питон. C++ - это не панацея - от системных и инфраструктурных лагов язык тебя не спасет.

eXOR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.