Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Categories:
  • Mood:

программистское



Библиотека GLib предназначена в том числе для использование в программах с несколькими тредами; она “MT safe” (multi-thread safe). Но, оказывается, под “MT safe” дорогие разработчики GNOME/GTK понимают вот что. Предположим, я работаю с какими-нибудь объектами для хранения данных, скажем, хэш-таблицами (GHashTable). Так вот, если в разных тредах работаю с разными хэш-таблицами, то это безопасно. А если я в разных тредах работаю с одной и той же хэш-таблицей, то я должен сам координировать доступ, и не допускать к ней два треда одновременно, иначе попортят мне все данные.

Что-то мне это “MT safe” не кажется очень safe.

Но хорошо; пусть так; но хоть бы где-то объяснили это нормально! В документации об этом ни слова, а в исходниках GHashTable написано только, что она “MT safe”. Откуда я должен знать, что доступ к хэш-таблицам надо закрывать мьютексами или замками? прочитать это в гороскопе, может быть?
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 51 comments