1838年にトーントン鉄道が貨物・旅客ともに扱う幹線になると、トーントンはニューベッドフォードとケープコッド、フォールリバーとニューポート、サマセットとプロビデンス、アトルボロとプロビデンス、マンスフィールドとボストン、ストートンとボストン、レイナムないしはミドルバラとウェアハムとを結ぶ各路線に接続された。トーントンは州南東部におけるハイウェイのハブ都市で、マサチューセッツ州東部の主要幹線道のほとんどが市内（とりわけ中心部）を通る。市中心部のトーントン緑地では国道44号と州道138号、それに州道140号が交わる。州道140号は市東部の通称イーストトーントンと中心市街地とをつなぎ、イーストトーントン近くで州道24号と合流する。市北部のいわゆるノーストーントンでは、マイルズ・スタンディッシュ工業団地に沿って州間高速道路495号が走る。ほかにもレイナムとの市境近くに州道104号が、バークリーとレイクビルとの三角地帯に州道79号がそれぞれ通る。州道104号は市内で国道44号に合する。CSX線がフォールリバー、ニューベッドフォード経由で市内とミドルバラを往来しており、マサチューセッツ湾交通局 (MBTA) の路線に接続してボストンまで走らせようという計画もある。グレーター・アトルボロ・トーントン地域交通局が路線バスを運行している。トーントン市営空港に定期便は就航しておらず、小型機や臨時の通勤ジェット便の乗り入れが主である。国内便はロードアイランド州のT・F・グリーン空港、国際便はボストンのローガン国際空港が最寄り。
市北部のワシントン街にモートン病院メディカルセンターがある。トーントン州立病院はホッジズ街にある精神病院である。2006年に火事が発生し、一部が焼けた。精神病患者の長期入院を引き受ける、マサチューセッツ州でも数少ない病院である。電気事業は南のはずれにあるトーントン市電力プラント (TMLP) が担う。近くのレイクビルに市の水処理・供給施設がある。下水は市街の南はずれのウェストウォーター街にある処理施設を通過した後、トーントン川に流される。
トーントンで発行されている活字メディアに「シルバー・シティ・バレティン」、「ブロックトン・エンタープライズ」、「トーントン・デイリー・ガゼット」などがある。「ボストン・グローブ、「ボストン・ヘラルド」、「プロビデンス・ジャーナル」などの地方紙も広く読まれている。テレビではパブリック・アクセス放送のトーントン・コミュニティ・アクセス・アンド・メディア社（コムキャスト15ch、ベライゾン22ch）やトーントン高校放送局が運営する教育テレビのトーントン教育ネットワーク（コムキャスト9ch、ベライゾン23ch）、それにトーントン市営ネットワーク（コムキャスト17ch、ベライゾン24ch）の各ケーブル局がある。プロビデンスやボストンのテレビも視聴可能で、ラジオでは午前中に地元密着型の番組を流すWVBF (AM1530) とプロビデンスにスタジオを構えるWSNE (FM93.3) が拠点を置いている。1949年から2007年までWPEP (AM1570) という局もあった。インターネットサービスプロバイダにはコムキャスト、アースリンク、SBC Yahoo!ダイヤル、ベライゾンが挙げられる。上述のトーントン市電力プラント (TMLP) もこの分野に進出している。
本節では、グラフにわたって経時的に拡散する関数の例を示す。この例中のグラフは2次元離散グリッド上に構築され、グリッド上の点は8個の隣接点と連結している。3つの初期点は正の値を持つと指定されているのに対し、グリッド中の残りの値は0である。経時的に、指数関数的減衰によってグリッド全体へとこれらの点上の値が均等に分布する。このアニメーションを生成するために使われた完全なMATLABのソースコードを以下に示す。ソースコードは、初期条件の指定、これらの初期条件のラプラシアン行列の固有値への射影、これらの射影された初期条件の指数関数的減衰のシミュレーションの過程を示す。N = 20;%The number of pixels along a dimension of the imageA = zeros(N, N);%The imageAdj = zeros(N*N, N*N);%The adjacency matrix%Use 8 neighbors, and fill in the adjacency matrixdx = [-1, 0, 1, -1, 1, -1, 0, 1];dy = [-1, -1, -1, 0, 0, 1, 1, 1];for x = 1:N   for y = 1:N       index = (x-1)*N + y;       for ne = 1:length(dx)           newx = x + dx(ne);           newy = y + dy(ne);           if newx > 0 && newx <= N && newy > 0 && newy <= N               index2 = (newx-1)*N + newy;               Adj(index, index2) = 1;           end       end   endend%%%BELOW IS THE KEY CODE THAT COMPUTES THE SOLUTION TO THE DIFFERENTIAL%%%EQUATIONDeg = diag(sum(Adj, 2));%Compute the degree matrixL = Deg - Adj;%Compute the laplacian matrix in terms of the degree and adjacency matrices[V, D] = eig(L);%Compute the eigenvalues/vectors of the laplacian matrixD = diag(D);%Initial condition (place a few large positive values around and%make everything else zero)C0 = zeros(N, N);C0(2:5, 2:5) = 5;C0(10:15, 10:15) = 10;C0(2:5, 8:13) = 7;C0 = C0(:);C0V = V'*C0;%Transform the initial condition into the coordinate system %of the eigenvectorsfor t = 0:0.05:5   %Loop through times and decay each initial component   Phi = C0V.*exp(-D*t);%Exponential decay for each component   Phi = V*Phi;%Transform from eigenvector coordinate system to original coordinate system   Phi = reshape(Phi, N, N);   %Display the results and write to GIF file   imagesc(Phi);   caxis([0, 10]);   title(sprintf('Diffusion t = %3f', t));   frame = getframe(1);   im = frame2im(frame);   [imind, cm] = rgb2ind(im, 256);   if t == 0      imwrite(imind, cm, 'out.gif', 'gif', 'Loopcount', inf, 'DelayTime', 0.1);    else      imwrite(imind, cm, 'out.gif', 'gif', 'WriteMode', 'append', 'DelayTime', 0.1);   endend